다음은 CodeIgniter를 개발할 때 준수한 코딩 규칙의 사용을 설명합니다.
1. File Format
텍스트에디터 사용시 아래 사항에 유의 합니다.
- 파일들은 유니코드(UTF-8, no BOM) 인코딩 저장. (UTF-16, UTF-32 와 달리 UTF-8에는 BOM을 사용하지 않습니다.)
- 라인 끝은 LF(\n)를 사용해야 합니다.
2. PHP 닫는 태그
PHP 문서에서 닫는 태그(?>)를 사용했을 때 닫는 태그 뒤에 공백 있다면, 빈 페이지나 원치 않는 화면을 출력할 것입니다.
주석으로 파일의 끝을 표시하여, 파일의 경로를 표시하면 파일의 끝 임을 알 수 있으므로 파일의 마지막에 주석을 권장합니다.
(PHP 여는 태그(<?)의 앞에도 공백이 있어서는 안됩니다.)
INCORRECT:
<?php
echo "Here's my code!";
?>
CORRECT:
<?php
echo "Here's my code!";
/* End of file myfile.php */
/* Location: ./system/modules/mymodule/myfile.php */
<?php
echo "Here's my code!";
?>
CORRECT:
<?php
echo "Here's my code!";
/* End of file myfile.php */
/* Location: ./system/modules/mymodule/myfile.php */
3. 클래스명과 메소드명
클래스는 항상 대문자로 시작합니다.
여러 단어일 경우 동사가 포함된 것이 좋으며 카멜케이스(CamelCased) 가 아닌 언더바(_)로 구분해야 합니다.
너무 길지 않게 목적을 잘 설명할 수 있는 이름으로 지어야 합니다.
다른 클래스 메소드는 모두 소문자로 되어야 합니다.
INCORRECT:
class superclass
class SuperClass
CORRECT:
class Super_class
INCORRECT:
function fileproperties()
function fileProperties()
function getfileproperties()
function getFileProperties()
function get_the_file_properties_from_the_file()
CORRECT:
function get_file_properties()
class superclass
class SuperClass
CORRECT:
class Super_class
INCORRECT:
function fileproperties()
function fileProperties()
function getfileproperties()
function getFileProperties()
function get_the_file_properties_from_the_file()
CORRECT:
function get_file_properties()
4. 변수명
클래스 메소드와 거의 흡사하게 이름 짓습니다. (소문자, 언더바 구별 등)
너무 짧거나 단어가 아닌 변수는 for문 등의 루프 등에만 사용해야 합니다.
INCORRECT:
$j = 'foo';
$Str
$bufferedText
$groupid
$name_of_last_city_used
CORRECT:
for ($j = 0; $j < 10; $j++)
$str
$buffer
$group_id
$last_city
$j = 'foo';
$Str
$bufferedText
$groupid
$name_of_last_city_used
CORRECT:
for ($j = 0; $j < 10; $j++)
$str
$buffer
$group_id
$last_city
5. 상수
상수는 모두 대문자로 하는 것을 제외하고는 변수명 짓는 것과 같습니다.
CodeIgniter는 적절할 때 SLASH, LD, RD, PATH_CACHE 상수를 항상 사용합니다.
INCORRECT:
myConstant
N
S_C_VER
$str = str_replace('{foo}', 'bar', $str); // should use LD and RD constants
CORRECT:
MY_CONSTANT
NEWLINE
SUPER_CLASS_VERSION
$str = str_replace(LD.'foo'.RD, 'bar', $str);
myConstant
N
S_C_VER
$str = str_replace('{foo}', 'bar', $str); // should use LD and RD constants
CORRECT:
MY_CONSTANT
NEWLINE
SUPER_CLASS_VERSION
$str = str_replace(LD.'foo'.RD, 'bar', $str);
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,