코딩 규칙
고도몰 튜닝 시 사용하는 '코딩'은 아래의 내용을 준수하여 작성해주세요.
📍 PHP Code Tags
반드시
<?php와<?=만을 사용한다.
php 파일을 template 처럼 사용하는 경우,
echo태그는 가급적<?=를 사용한다.
Closing Tag
PHP 소스 코드만 포함된 경우,
?>를 생략 한다.
📍Indenting
TAB을 사용하지 않으며, 4자리의SPACE를 사용한다.namespace, php open tag 레벨의 인덴트를 하지 않는다.
📍Control Structures
Alternative syntax
Alternative syntax 를 사용하지 않는다.
Curly brackets
{,}사용시 줄바꿈 하지 않는다.
Indenting
{,}내부는 반드시 들여쓰기 한다.
Control Statements
Control Keyword와 조건문 사이에는 반드시 1개의
SPACE가 포함되어야 한다.else if대신elseif를 사용한다.
📍Forbidden Functions
sizeof대신count를 사용한다.delete대신unset을 사용한다.print대신echo를 사용한다.is_null대신if ($var === null);을 사용한다.create_function대신anonymous function을 사용한다.
📍Function Calls
메서드 또는 함수 호출시
->,(,),;사이에SPACE가 포함되면 안된다.각 Arguments 사이에
SPACE를 삽입한다.
📍Class Definitions
하나의 파일에는 하나의 클래스를 생성해야 한다.
{를 줄바꿈 한다.classloader 에서 클래스 경로를 찾을 수 있도록 namespace 를 정의한다.
Filenames
클래스명과 파일명이 일치해야 한다.
classloader에서 클래스를 찾을 수 있도록 namespace 를 sub-directory 로 간주한 위치에 파일을 저장한다.
📍Function Definitions
함수명과
(,)사이에SPACE가 포함되면 안된다.클래스와 마찬가지로
{를 줄바꿈 한다.
Arguments
각 Argument 사이에
SPACE를 넣어 가독성을 높인다.
📍Comments
Inline Comment
//만 사용한다.#을 사용하지 않는다.
Block Comment
2줄 이상의 inline comment 를 사용하지 않는다.
Document Comments
파일, 함수, 메소드, 프로퍼티, 클래스, 인터페이스에는 phpDocumentor형식의 Document Comments를 작성해야 한다.
구현 메소드의 Document Comments 는 {@inheritDoc} 태그를 사용한다.
Task Tags
@todo 키워드를 주석에 사용하여 추가 작업에 대한 내용을 기록해 둘 수 있다.
TODO, FIXME, XXX 는 사용하지 않는다.
📍File Formats
BOM 이 없는 UTF-8 인코딩을 사용한다.
파일 인코딩을 혼용하지 않는다. (ex: EUC-KR 환경에서 AJAX 처리를 위해 일부 파일을 UTF-8로 저장하는 행위)
줄바꿈 문자는 Unix 타입의
LF만을 사용한다.줄끝 공백 제거 처리한다.
파일의 맨 마지막 라인에 빈 공백 라인을 추가한다.
📍 Etc
Operators
모든 연산자 앞, 뒤로 1개의 공백을 삽입한다.
Ternary Operator는 중첩 사용하지 않고, 중간 구문을 생략 사용하지 않는다.Error Control Operators(@) 를 사용하지 않는다.
Strings
"대신'를 사용한다.SQL문 과 같이 내부에
'가 쓰일 수 있는 경우"사용을 허용한다.Heredoc syntax를 사용하지 않는다.
Arrays
배열을 여러줄로 정의할 경우 마지막 원소의 끝에
,를 추가한다.배열 선언시 가급적 축약형 구문을 사용한다.
Last updated
Was this helpful?
