코드 스타일 사양
본 사양은 [PSR-1][] 기본 코드 사양을 상속 및 확장한 것입니다.
이 사양에서는 PHP 코드를 표준화하기 위한 일련의 규칙을 공식화하여 다양한 작성자의 코드를 탐색할 때 다양한 코딩 스타일로 인해 발생하는 불편함을 줄이기를 희망합니다.
여러 프로그래머가 여러 프로젝트에서 협업하는 경우 공통 코딩 표준이 필요하며 이 글의 스타일 사양은 여러 다른 프로젝트의 코딩 스타일의 공통 특성에서 파생됩니다. 따라서 가치는 이 사양의 핵심은 그 자체가 아니라 우리 모두가 따르는 코딩 스타일에 있습니다.
키워드 "해야 한다"("MUST"), "해서는 안 된다/해서는 안 된다"("MUST NOT"), "필요하다"("필수"), "할 것이다"("SHALL"), "SHALL NOT"), "SHOULD"), "SHOULD NOT", "RECOMMENDED", "MAY" ) 및 "OPTIONAL")은 [RFC 2119][]에 자세히 설명되어 있습니다.
개요
코드 는 [PSR-1][]의 코딩 규칙을 따라야 합니다.
코드 는 탭 키 대신 공백 4개를 사용해 들여쓰기해야 합니다.
각 줄의 문자 수 는 80자 이내로 유지해야 합니다. 이론적으로 는 120자를 초과할 수 없지만 은 하드 제한되어서는 안 됩니다.
각 네임스페이스 선언 및 사용 선언 블록 뒤에 반드시빈 줄을 삽입해야 합니다.
클래스의 여는 중괄호({)는 함수 선언 뒤의 한 줄에 작성해야 하며, 닫는 중괄호(})도 한 줄에 작성해야 합니다. 함수 본문 뒤에 자체 줄이 있습니다.
메서드의 여는 중괄호({)는 함수 선언 뒤의 한 줄에 작성해야 하며, 닫는 중괄호(})도 작성해야 합니다. 함수 본문 뒤에 자체 줄이 있습니다.
클래스 특성 및 메서드 는 액세스 수정자(개인, 보호 및 공개)를 추가해야 하며 추상 및 최종 은 액세스 수정자 앞에 선언해야 하고 정적 은 액세스 한정자 뒤에 선언됩니다.
제어 구조의 키워드 다음 에는 공백 문자가 있어야 하지만, 메서드나 함수를 호출할 때 에는 공백 문자가 없어야 합니다.
제어 구조의 여는 중괄호({)는 선언과 같은 줄에 작성해야 하고, 닫는 중괄호(})는 본문 뒤의 자체 줄에 작성해야 합니다.
제어 구조의 여는 왼쪽 괄호 뒤와 닫는 오른쪽 괄호 앞에는 공백이 없어야 합니다.
1.1. 예
다음 예제 프로그램은 위 사양의 대부분을 간단하게 보여줍니다.
namespace VendorPackage;use FooInterface;- BarClass를 Bar로 사용;
- OtherVendorOtherPackageBazClass 사용;
- class Foo는 Bar를 확장하여 FooInterface를 구현합니다
- {
- 공개 함수 SampleFunction($a, $b = null)
- {
- if ($a === $b) {
- bar();
- } elseif ($a > $b) {
- $foo->bar($arg1);
- } else {
- BazClass::bar($arg2, $arg3);
- }
- }
-
- final public static function bar()
- {
- // 메소드 본문
- }
- }
-
-
- 코드 복사
-
일반 규정
2.1 기본 코딩 지침
코드 는 [PSR-1][]의 모든 사양을 준수해야 합니다.
2.2 문서
모든 PHP 파일은 줄 종결자로 Unix LF(라인피드)를 사용해야 합니다.
모든 PHP 파일은 빈 줄로 끝나야 합니다.
순수 PHP 코드 파일은 마지막 ?> 닫는 태그를 생략해야 합니다.
2.3. 확인
행 길이 에는 엄격한 제약이 있어서는 안 됩니다.
소프트 길이 제한 은 120자로 제한되어야 합니다. 이 길이를 초과하는 경우 코드 사양 확인을 포함하는 편집기 는 경고를 표시해야 하지만 해서는 안 됩니다 오류 메시지를 발행합니다.
각 줄 은 80자를 초과할 수 없습니다. 80자를 초과하는 줄은 여러 줄로 접어야 합니다.
공백이 아닌 줄 뒤에는 추가 공백이 없어야 합니다.
빈 줄을 사용하면 코드를 더 쉽게 읽을 수 있고 코드를 덩어리지게 만드는 데 도움이 됩니다.
각 행에는 두 개 이상의 구문이 포함될 수 없습니다.
2.4. 들여쓰기
코드 는 4개의 공백으로 들여쓰기되어야 하며, 탭 키를 사용해서는 안 됩니다 .
참고: 들여쓰기에 탭 키 대신 공백을 사용하면 코드 차이 비교, 패치 적용, 코드 다시 읽기, 주석 작성 시 혼란을 피할 수 있다는 장점이 있습니다. 또한 들여쓰기에 공백을 사용하면 정렬이 더 쉬워집니다.
2.5. 키워드 및 True/False/Null
PHP 모든 [키워드][]모두 소문자여야 합니다.
true, false 및 null 상수도 모두 소문자여야 합니다.
네임스페이스 및 사용 선언
네임스페이스 선언 뒤에는 빈 줄을 삽입해야 합니다.
모든 용도는 네임스페이스 뒤에 선언해야 합니다.
각 use 문에는 하나의 use 키워드만 있어야 합니다.
use 문 블록이 선언된 후에는 빈 줄이 있어야 합니다.
예:
네임스페이스 VendorPackage;- FooClass 사용;
- BarClass를 Bar로 사용;
- OtherVendorOtherPackageBazClass 사용;
- // ... 추가 PHP 코드 ...
코드 복사 클래스, 속성 및 메서드
여기서 "클래스"는 재사용 가능한 모든 클래스, 인터페이스 및 특성 코드 블록을 의미합니다.
4.1. 확장과 상속
확장 및 구현 키워드는 클래스 이름과 같은 줄에 작성해야 합니다.
클래스의 여는 중괄호 는 한 줄을 차지해야 하고, 닫는 중괄호 는 클래스 본문 다음의 한 줄을 차지해야 합니다. 네임스페이스 VendorPackage; - FooClass 사용;
- BarClass를 Bar로 사용;
- OtherVendorOtherPackageBazClass 사용;
- class ClassName extends ParentClass Implements ArrayAccess, Countable
- {
- // 상수, 속성, 메서드
- }
- 코드 복사
구현의 상속 목록은 여러 줄로 나눌 수도 있습니다 이 경우 상속된 각 인터페이스 이름 은 첫 번째 줄을 포함하여 별도의 줄로 구분되어야 합니다. 네임스페이스 VendorPackage; - FooClass 사용;
- BarClass를 Bar로 사용;
- OtherVendorOtherPackageBazClass 사용;
- class ClassName extends ParentClass Implements
- ArrayAccess,
- Countable,
- Serialized
- {
- // 상수, 속성, 메서드
- }
- 코드 복사
4.2.
각 속성에는 반드시 액세스 수정자가 추가되어 있어야 합니다.
속성을 선언하기 위해 var 키워드를 사용하면 안 됩니다.
각 문은 두 개 이상의 속성을 정의하면 안 됩니다.
속성이 보호되는지 또는 비공개인지 구분하기 위해 밑줄을 접두사로 사용하지 마세요.
다음은 속성 선언의 예입니다. namespace VendorPackage; - class ClassName
- {
- public $foo = null;
- }
- 코드 복사
4.3.
모든 메소드는 액세스 수정자를 추가해야 합니다.
메소드가 보호되는지 또는 비공개인지 구분하기 위해 밑줄을 접두사로 사용하지 마세요 .
메서드 이름 뒤에 에는 공백 문자가 있어서는 안 됩니다. 여는 중괄호 는 한 줄에 단독으로 있어야 하며, 닫는 중괄호 는 이어야 합니다. 🎜> 메소드 본문 뒤에 별도의 줄에 . 매개변수의 왼쪽 괄호 뒤와 오른쪽 괄호 앞에는 공백 이 없어야 합니다.
표준 메소드 선언의 경우 괄호, 쉼표, 공백 및 중괄호 배치에 주의하세요. 네임스페이스 VendorPackage; - class ClassName
- {
- 공개 함수 fooBarBaz($arg1, &$arg2 , $arg3 = [])
- {
- // 메소드 본문
- }
- }
- 코드 복사
4.4.
매개변수 목록에서 각 쉼표 뒤에는 공백 이 있어야 하며, 쉼표 앞에는 공백이 있어서는 안 됩니다.
기본값이 있는 매개변수인 는 매개변수 목록의 마지막에 배치되어야 합니다. - 네임스페이스 VendorPackage;
- class ClassName
- {
- 공용 함수 foo($arg1, &$arg2 , $arg3 = [])
- {
- // 메소드 본문
- }
- }
코드 복사매개변수 목록 여러 줄로 나눌 수 있으므로 첫 번째 매개변수를 포함한 각 매개변수 는 별도의 줄에 있어야 합니다.
매개변수 목록을 여러 줄로 나눈 후 메서드의 닫는 괄호와 여는 중괄호를 같은 줄에 공백으로 구분하여 작성해야 합니다. - 네임스페이스 VendorPackage;
- class ClassName
- {
- 공개 함수 aVeryLongMethodName(
- ClassTypeHint $arg1 ,
- &$arg2,
- array $arg3 = []
- ) {
- // 메서드 본문
- }
- }
코드 복사 4.5 추상적이고 최종적이며 정적입니다.
추상 또는 최종 선언을 추가해야 하는 경우에는 접근 한정자 앞에 를 써야 하고, static의 경우 뒤에 를 써야 합니다. - 네임스페이스 VendorPackage;
- 추상 클래스 ClassName
- {
- protected static $foo;
- 추상 보호 함수 zim();
- final public static function bar()
- {
- // 메소드 본문
- }
- }
코드 복사 4.6.
메서드 및 함수 호출 시, 메소드 이름 또는 함수 이름과 매개변수 의 왼쪽 괄호 사이에 공백이 없어야 하며, 오른쪽 괄호 앞에는 공백이 없어야 합니다. 매개변수 . 각 매개변수 앞에는 공백이 없어야 하지만, 뒤에는 공백이 있어야 합니다. bar();- $foo->bar($arg1);
- Foo::bar($arg2 , $arg3);
-
코드 복사
매개변수는 여러 줄로 나눌 수 있으며, 이 때 첫 번째 매개변수를 포함한 각 매개변수 각 매개변수 은 한 줄에 이어야 합니다.
$foo->bar(- $longArgument,
- $longerArgument,
- $muchLongerArgument
- ) ;
-
코드 복사
제어 구조
제어구조의 기본 사양은 다음과 같습니다.
제어 구조 키워드 뒤에는 공백이 있어야 합니다.
왼쪽 괄호 뒤에는 공백이 없어야 합니다( .
오른쪽 대괄호 앞에는 공백이 없어야 합니다.
오른쪽 괄호 )와 여는 중괄호 { 사이에 공백 이 있어야 합니다.
구조체 의 본문은 한 번 들여쓰기되어야 합니다.
중괄호 종료 } 구조체 본문 뒤에 별도의 줄에 있어야 합니다.
각 구조의 본문 은 중괄호 쌍으로 묶어야 합니다. 이렇게 하면 구조가 더욱 구조화되고 새 줄을 추가할 때 오류가 발생할 가능성이 줄어듭니다.
5.1. if , elseif 및 else
표준 if 구조는 다음 코드와 같습니다. 대괄호, 공백 및 중괄호의 위치에 주의하세요. else와 elseif는 이전 닫는 중괄호와 같은 줄에 있습니다.
if ($expr1) {
// if body } elseif ($expr2) { // elseif body- } else {
- // else body;
- }
- 코드 복사
키워드 elseif를 사용해야 합니다. 모든 제어 키워드가 단일 단어로 표시되도록 하려면 else를 모두 대체합니다.
5.2.스위치와 케이스
표준 스위치 구조는 다음 코드와 같습니다. 괄호, 공백, 중괄호의 위치에 주의하세요. case 문 은 스위치를 기준으로 들여쓰기되어야 하며, break 문과 Case 내의 다른 문은 사례를 기준으로 들여쓰기되어야 합니다. 문을 통해 비어 있지 않은 케이스가 있는 경우 // no break in the body와 유사한 주석이 있어야 합니다.
스위치($expr) {
케이스 0: echo '첫 번째 케이스, 중단 있음'; break;- 사례 1:
- echo '떨어지는 두 번째 사례';
- // 중단 없음
- 사례 2:
- 사례 3:
- 사례 4:
- echo '세 번째 경우, break 대신 return';
- return;
- default:
- echo 'Default case';
- break;
- }
- 코드 복사
- 5.3. 동안과 하는 동안
표준 while 문은 다음과 같아야 합니다. 대괄호, 공백 및 중괄호의 위치에 주의하세요. - while ($expr) {
- // 구조체 본문
- }
코드 복사 표준 do while문은 다음과 같습니다. 이번에도 대괄호, 공백, 중괄호의 위치에 주의하세요. - do {
- // 구조체 본문;
- } while ($expr);
코드 복사 5.4.
문의 기준은 다음과 같으니 괄호, 공백, 중괄호의 위치에 주의하세요. - for ($i = 0; $i < 10; $i ) {
- // 본문
- }
코드 복사 5.5.
표준 foreach 문은 다음과 같습니다. 대괄호, 공백, 중괄호의 위치에 주의하세요. - foreach ($iterable as $key => $value) {
- // foreach 본문
- } 코드 복사5.6.
표준 try catch 문은 다음과 같습니다. 대괄호, 공백 및 중괄호의 위치에 주의하세요.
-
- try {
- // try body
- } catch (FirstExceptionType $e) {
- // catch body
- } catch (OtherExceptionType $e) {
- // 본문 잡기
- }
코드 복사
클로저
클로저 선언 시 키워드 함수 뒤, 키워드 사용 전후에 공백이 있어야 합니다.
여는 중괄호 는 선언문과 같은 줄에 , 닫는 중괄호 는 본문이 끝나는 줄 바로 뒤에 와야 합니다.
매개변수 목록과 변수 목록에서는 왼쪽 괄호 뒤, 오른쪽 괄호 앞에 공백이 없어야 합니다.
매개변수 및 변수 목록에서 에는 쉼표 앞에 공백이 있으면 안 되고, 에는 쉼표 뒤에 공백이 있어야 합니다.
클로저에 기본값이 있는 매개변수 는 목록 끝에 배치되어야 합니다.
표준 클로저 선언문은 다음과 같으니 괄호, 쉼표, 공백, 중괄호의 위치에 주의하세요.
$closureWithArgs = function ($arg1, $arg2) { - // 본문
- };
-
- $closureWithArgsAndVars = function ($arg1, $arg2) use ($var1, $var2) {
- // body
- };
-
-
코드 복사
매개변수 목록과 변수 목록 은 여러 줄로 나눌 수 있으므로 첫 번째 항목을 포함한 각 매개변수나 변수는 별도의 줄에 있어야 하고, 닫는 괄호는 목록은 닫는 괄호와 동일합니다. 패키지의 여는 중괄호 는 같은 줄에 배치되어야 합니다.
다음 예에는 매개변수 및 변수 목록이 여러 줄로 구분되는 여러 사례가 포함되어 있습니다.
$longArgs_noVars = 함수(
- $longArgument,
- $longerArgument,
- $muchLongerArgument
- ) {
- // 본문
- };
-
- $noArgs_longVars = function () 사용 (
- $longVar1,
- $longerVar2,
- $muchLongerVar3
- ) {
- / / body
- };
-
- $longArgs_longVars = 함수(
- $longArgument,
- $longerArgument,
- $muchLongerArgument
- ) 사용(
- $longVar1,
- $longerVar2,
- $muchLongerVar3
- ) {
- // 본문
- };
-
- $longArgs_shortVars = 함수(
- $longArgument,
- $longerArgument,
- $muchLongerArgument
- ) 사용($var1) {
- // 본문
- };
-
- $shortArgs_longVars = 함수($arg) 사용(
- $longVar1,
- $longerVar2 ,
- $muchLongerVar3
- ) {
- // body
- };
-
코드 복사
클로저가 직접 사용된다는 점에 유의하세요. 위의 규칙은 함수나 메서드에 대한 인수를 호출할 때 여전히 적용됩니다.
$foo->bar(- $arg1,
- 함수($arg2) 사용($var1) {
- // 본문
- },
- $arg3
- );
-
코드 복사 요약
위 사양에는 다음을 포함하되 이에 국한되지 않는 일부 감독이 불가피하게 있습니다.
전역 변수 및 상수 정의
기능의 정의
연산자와 임무
인라인 정렬
주석 및 문서 블록
클래스명의 접두사와 접미사
모범 사례
이 사양의 후속 개정 및 확장은 위의 단점을 보완할 것입니다.
부록 A. 설문지
이 사양을 작성하기 위해 팀에서는 각 구성원 프로젝트의 공통 사양에 대한 통계를 수집하기 위한 설문지를 개발했습니다. 다음은 이번 설문 조사의 데이터이며 여기에서 검토할 수 있습니다.
A.1. 설문지 데이터
- url,http://www.horde.org/apps/horde/docs/CODING_STANDARDS,http://pear.php.net/manual/ en/standards.php,http://solarphp.com/manual/appendix-standards.style,http://framework.zend.com/manual/en/coding-standard.html,http://symfony.com/ doc/2.0/contributing/code/standards.html,http://www.ppi.io/docs/coding-standards.html,https://github.com/ezsystems/ezp-next/wiki/codingstandards,http: //book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html,https://github.com/UnionOfRAD/lithium/wiki/Spec:-Coding,http://drupal.org/coding -표준,http://code.google.com/p/sabredav/,http://area51.phpbb.com/docs/31x/coding-guidelines.html,https://docs.google.com/a/ zikula.org/document/edit?authkey=CPCU0Us&hgd=1&id=1fcqb93Sn-hR9c0mkN6m_tyWnmEvoswKBtSc0tKkZmJA,http://www.chisimba.com,n/a,https://github.com/Respect/project-info/blob/master/ coding-standards-sample.php,n/a,PHP용 개체 체조,http://doc.nette.org/en/coding-standard,http://flow3.typo3.org,https://github.com /propelorm/Propel2/wiki/Coding-Standards,http://developer.joomla.org/coding-standards.html
- 투표,예,예,예,예,예,예,예,예,예,예 ,예,예,예,예,예,아니요,아니요,아니요,?,예,아니요,예
- indent_type,4,4,4,4,4,tab,4,tab,tab,2,4 ,탭,4,4,4,4,4,4,탭,탭,4,탭
- line_length_limit_soft,75,75,75,75,no,85,120,120,80,80,80,no,100,80 ,80,?,?,120,80,120,no,150
- line_length_limit_hard,85,85,85,85,no,no,no,no,100,?,no,no,no,100,100,?,120,120 ,no,no,no,no
- class_names,studly,studly,studly,studly,studly,studly,studly,studly,studly,studly,studly,lower_under,studly,lower,studly,studly,studly,studly,? ,스터들리,스터들리,스터들리
- class_brace_line,다음,다음,다음,다음,다음,동일,다음,동일,동일,동일,다음,다음,다음,다음,다음,다음,다음,다음,동일 ,다음,다음
- 상수_이름,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper,upper ,upper
- true_false_null,lower,lower,lower,lower,lower,lower,lower,lower,lower,upper,lower,lower,lower,upper,lower,lower,lower,lower,lower,upper,lower,lower
- 방법_이름,낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, lower_under, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타, 낙타
- method_brace_line,다음,다음,다음,다음,다음,동일,다음,동일,동일,동일,동일,다음,다음,동일,다음,다음,다음,다음,다음,동일,다음,다음
- control_brace_line ,같은,같은,같은,같은,같은,같은,다음,같은,같은,같은,같은,다음,같은,같은,다음,같은,같은,같은,같은,같은,같은,다음
- control_space_after,yes ,예,예,예,예,아니요,예,예,예,예,아니요,예,예,예,예,예,예,예,예,예,예
- always_use_control_braces,예,예 ,예,예,예,예,아니요,예,예,예,아니요,예,예,예,예,아니요,예,예,예,예,예,예
- else_elseif_line,동일,동일,동일 ,동일,동일,동일,다음,동일,동일,다음,동일,다음,동일,다음,다음,동일,동일,동일,동일,동일,동일,다음
- case_break_indent_from_switch,0/1,0/1 ,0/1,1/2,1/2,1/2,1/2,1/1,1/1,1/2,1/2,1/1,1/2,1/2,1 /2,1/2,1/2,1/2,0/1,1/1,1/2,1/2
- function_space_after,no,no,no,no,no,no,no,no ,no,no,no,no,no,no,no,no,no,no,no,no,no,no
- closing_php_tag_required,no,no,no,no,no,no,no,no,yes ,아니요,아니요,아니요,아니요,예,아니요,아니요,아니요,아니요,아니요,예,아니요,아니요
- line_endings,LF,LF,LF,LF,LF,LF,LF,LF,?,LF ,?,LF,LF,LF,LF,?,,LF,?,LF,LF,LF
- static_or_visibility_first,static,?,static,either,either,either,visibility,visibility,visibility,either,static, 어느 쪽,?,가시성,?,?,둘 중,둘 중,가시성,가시성,정적,?
- control_space_parens,no,no,no,no,no,no,yes,no,no,no,no,no, no,yes,?,no,no,no,no,no,no,no
- blank_line_after_php,no,no,no,no,yes,no,no,no,no,yes,yes,no,no, 예,?,예,예,아니요,예,아니요,예,아니요
- class_method_control_brace,다음/다음/동일,다음/다음/동일,다음/다음/동일,다음/다음/동일,다음/다음/ 동일, 동일/동일/동일, 다음/다음/다음, 동일/동일/동일, 동일/동일/동일, 동일/동일/동일, 동일/동일/동일,다음/다음/다음,다음/다음/동일, 다음/동일/동일,다음/다음/다음,다음/다음/동일,다음/다음/동일,다음/다음/동일,다음/다음/동일,다음/다음/동일,동일/동일/동일,다음/다음/동일,다음/ 다음/다음
-
코드 복사
A.2. 설문지 지침
indent_type: 들여쓰기 유형. tab = "탭 키를 한 번 사용", 2 또는 4 = "공백 수"
line_length_limit_soft: 한 줄당 문자 수에 대한 "소프트" 제한 ? = 답변 없음 또는 답변 없음, 아니요는 제한이 없음을 의미합니다.
line_length_limit_hard: 한 줄당 문자 수에 대한 "하드" 제한 ? = 답변 없음 또는 답변 없음은 제한이 없음을 의미합니다.
class_names: 클래스 이름. lower = 소문자만 허용, lower_under = 밑줄로 구분된 소문자, StudlyCase 카멜 케이스 스타일.
class_brace_line: 클래스의 여는 중괄호가 class 키워드와 같은 줄에 있나요, 아니면 다음 줄에 있나요?
constant_names: 클래스의 상수 이름을 지정하는 방법은 무엇입니까? 대문자 = 밑줄로 구분된 대문자.
true_false_null: 키워드 true, false 및 null은 모두 소문자인가요 아니면 모두 대문자인가요?
method_names: 메서드 이름을 어떻게 지정하나요? camel = camelCase, lower_under = 밑줄로 구분된 소문자.
method_brace_line: 메서드의 여는 중괄호가 메소드 이름과 같은 줄에 있습니까, 아니면 다음 줄에 있습니까?
control_brace_line: 제어 구조의 여는 중괄호가 선언과 같은 줄에 있습니까, 아니면 다음 줄에 있습니까?
control_space_after: 제어 구조 키워드 뒤에 공백이 있나요?
always_use_control_braces: 제어 구조는 항상 중괄호로 묶여 있나요?
else_elseif_line: else 또는 elseif가 이전 닫는 중괄호와 같은 줄에 있습니까, 아니면 다음 줄에 있습니까?
case_break_indent_from_switch: switch 문에서 case와 break를 스위치에 비해 들여쓰기해야 하는 횟수는 몇 번입니까?
function_space_after: 함수 호출문에서 함수 이름과 변수 목록의 왼쪽 괄호 사이에 공백이 있나요?
closing_php_tag_required: 순수 PHP 코드가 포함된 파일의 경우 ?> 닫는 태그가 필요합니까?
line_endings: 어떤 유형의 줄 끝을 선택해야 하나요?
static_or_visibility_first: 정적 메서드를 선언할 때 static을 액세스 한정자 앞이나 뒤에 작성해야 합니까?
control_space_parens: 제어 구조에서 왼쪽 괄호 뒤와 오른쪽 괄호 앞에 공백이 있나요? 예 = if( $expr ), no = if($expr).
blank_line_after_php: PHP 시작 태그 뒤에 빈 줄이 필요합니까?
class_method_control_brace: 클래스, 메소드 및 제어 구조에서 중괄호 통계를 시작합니다.
A.3. 설문지 통계 결과
- indent_type:
- 탭: 7
- 2: 1
- 4: 14
- line_length_limit_soft:
- ?: 2
- 아니요: 3
- 75:4
- 80:6
- 85:1
- 100:1
- 120:4
- 150:1
- line_length_limit_hard:
- ?: 2
- no: 11
- 85: 4
- 100: 3
- 120: 2
- class_names:
- ?: 1
- lower: 1
- lower_under: 1
- Studly: 19
- class_brace_line:
- next: 16
- same: 6
- constant_names:
- upper: 22
- true_false_null:
- lower: 19
- upper: 3
- method_names:
- camel: 21
- lower_under: 1
- method_brace_line:
- next: 15
- same: 7
- control_brace_line:
- next: 4
- same : 18
- control_space_after:
- 아니요: 2
- 예: 20
- always_use_control_braces:
- 아니요: 3
- 예: 19
- else_elseif_line:
- 다음: 6
- 동일: 16
- case_break_indent_from_switch:
- 0/1: 4
- 1/1: 4
- 1/2: 14
- function_space_after:
- 아니오: 22
- closing_php_tag_required:
- 아니오: 19
- 예: 3
- line_endings:
- ?: 5
- LF: 17
- static_or_visibility_first:
- ?: 5
- 둘 중 하나: 7
- 정적: 4
- 가시성: 6
- control_space_parens:
- ?: 1
- 아니요: 19
- 예: 2
- blank_line_after_php:
- ?: 1
- 아니요: 13
- 예 : 8
- class_method_control_brace:
- 다음/다음/다음: 4
- 다음/다음/동일: 11
- 다음/동일/동일: 1
- 동일/동일/동일: 6
-
코드 복사
Github(PizzaLiu)에서 재인쇄
|