Update CONTRIBUTING.md

This commit is contained in:
Kijin Sung 2016-04-27 21:57:12 +09:00
parent 6012d28ada
commit 4a26220890

View file

@ -9,7 +9,7 @@
- 2가지 이상 서로 다른 문제가 있는 경우, 각각 이슈를 등록해 주십시오. - 2가지 이상 서로 다른 문제가 있는 경우, 각각 이슈를 등록해 주십시오.
- 보안 취약점은 공개적으로 언급하지 말고 devops@rhymix.org로 알려 주시면 감사하겠습니다. - 보안 취약점은 공개적으로 언급하지 말고 devops@rhymix.org로 알려 주시면 감사하겠습니다.
- **버그 신고 전 자신의 서버가 Rhymix의 실행 환경을 충족하는지 확인해 주십시오.** - **버그 신고 전 자신의 서버가 Rhymix의 실행 환경을 충족하는지 확인해 주십시오.**
- PHP 5.3 미만, EUC-KR 환경, 퍼미션 오류 등은 호스팅 업체에 문의하셔야 합니다. - PHP 5.5 미만, EUC-KR 환경, 퍼미션 오류 등은 호스팅 업체에 문의하셔야 합니다.
- 자신의 서버 환경은 `phpinfo`를 사용하여 확인할 수 있습니다. - 자신의 서버 환경은 `phpinfo`를 사용하여 확인할 수 있습니다.
- **버그 신고에는 아래의 내용을 반드시 포함시켜 주십시오.** - **버그 신고에는 아래의 내용을 반드시 포함시켜 주십시오.**
- 실행 환경 - 실행 환경
@ -30,10 +30,13 @@
작성 후에 수정할 것이 있으면 이 브랜치에서 계속 작업하고 커밋하시면 됩니다. PR 페이지에 자동으로 반영됩니다. 작성 후에 수정할 것이 있으면 이 브랜치에서 계속 작업하고 커밋하시면 됩니다. PR 페이지에 자동으로 반영됩니다.
- 개발 진행 및 안정화에 따라 브랜치별 운영 정책이 변경될 수 있으니 유의하십시오. - 개발 진행 및 안정화에 따라 브랜치별 운영 정책이 변경될 수 있으니 유의하십시오.
- 아래의 코딩 규칙을 지키려고 노력해 주시기 바랍니다. - 아래의 코딩 규칙을 지키려고 노력해 주시기 바랍니다.
- 코딩 규칙에 맞지 않는 소스를 발견하더라도 PR의 주제외 관계없는 부분은 함부로 고치지 마세요! - **코딩 규칙에 맞지 않는 소스를 발견하더라도 PR의 주제와 관계없는 부분은 함부로 고치지 마세요!
코딩 규칙에 맞도록 소스를 수정하는 작업은 모두 별도의 PR로 처리하여야 합니다. 코딩 규칙에 맞도록 소스를 수정하는 작업은 모두 별도의 PR로 처리하여야 합니다.**
- 단, PR을 검토하는 개발자들은 괄호의 위치와 같은 사소한 문제를 지적하느라고 - **단, PR을 검토하는 개발자들은 괄호의 위치와 같은 사소한 문제를 지적하느라고
실제 기능에 관심을 주지 못하는 오류를 범하지 않도록 노력해야 합니다. 실제 기능에 관심을 주지 못하는 오류를 범하지 않도록 노력해야 합니다.**
- PR의 제목은 커밋 메시지에 적용되는 규칙을 참고하되, 가능하면 한글로 작성해 주십시오.
- 유닛 테스트를 통과하지 못하거나, 통과하기 위해 테스트를 삭제할 경우 PR이 거부될 수 있습니다.
단, 테스트 자체에 문제가 있거나 테스트 내용을 변경해야 한다고 생각되는 경우 개발팀과 의논해 주십시오.
## 저작권 및 라이선스 ## 저작권 및 라이선스
@ -73,10 +76,23 @@ PHP 코드만으로 이루어진 파일은 맨 끝에 `?>` 태그를 사용하
} }
} }
단, 클로져는 같은 줄에 중괄호를 쓸 수 있으며, 이 경우 중괄호 앞뒤에 한 칸씩 공백을 둡니다. 조건문이나 순환문 내에 하나의 명령만 있는 경우에도 반드시 중괄호를 사용합니다.
그래야 나중에 명령이 추가될 경우 수정하기 편리합니다.
if (!$foo) return false; // WRONG
if (!$bar) // RIGHT
{
return true;
}
단, 클로져는 같은 줄에 중괄호를 쓸 수 있으며,
이 경우 중괄호 앞뒤에 한 칸씩 공백을 두어 클로져가 시작되고 끝나는 지점을 찾기 쉽도록 합니다.
닫는 중괄호와 그 뒤의 기호 사이에는 공백을 두지 않습니다. 닫는 중괄호와 그 뒤의 기호 사이에는 공백을 두지 않습니다.
$foo = function($bar) { return $bar + 1; }; // RIGHT $foo = function($bar) { return $bar + 1; }; // RIGHT
$foo = function($bar) { // RIGHT
return $bar + 1;
};
$foo = function($bar){return $bar + 1;}; // WRONG $foo = function($bar){return $bar + 1;}; // WRONG
자바스크립트에서는 거의 모든 함수가 클로져이며, 잘못 줄바꿈할 경우 세미콜론이 삽입될 수 있으므로 자바스크립트에서는 거의 모든 함수가 클로져이며, 잘못 줄바꿈할 경우 세미콜론이 삽입될 수 있으므로
@ -101,6 +117,24 @@ PHP 코드만으로 이루어진 파일은 맨 끝에 `?>` 태그를 사용하
if($foo === $bar) // OK for XE Compatibility if($foo === $bar) // OK for XE Compatibility
if($foo==$bar){ // WRONG if($foo==$bar){ // WRONG
여러 줄에 걸쳐 배열을 선언할 경우, 마지막 구성요소 뒤에 쉼표를 남깁니다.
그래야 나중에 구성요소를 추가할 때 편리합니다.
$animals = array(
'bear',
'cat',
'dog', // COMMA
);
단, 자바스크립트 및 JSON에서는 마지막 쉼표를 반드시 삭제해야 합니다.
쉼표를 남겨둘 경우 일부 브라우저에서 오류가 발생할 수 있기 때문입니다.
var animals = [
'bear',
'cat',
'dog' // NO COMMA
];
### 주석 ### 주석
주석은 관련 코드 윗줄에 써야 합니다. 조건문이나 루프의 경우에도 마찬가지입니다. 주석은 관련 코드 윗줄에 써야 합니다. 조건문이나 루프의 경우에도 마찬가지입니다.
@ -150,9 +184,27 @@ PHPDoc 주석 작성에 어려움이 있는 경우, 다른 클래스와 함수
불가피한 경우를 제외하면 주석은 영문으로 쓰는 것을 원칙으로 하며, 불가피한 경우를 제외하면 주석은 영문으로 쓰는 것을 원칙으로 하며,
대문자로 시작하는 완전한 문장으로 이루어져야 합니다. 대문자로 시작하는 완전한 문장으로 이루어져야 합니다.
### 커밋 메시지
커밋 메시지는 가능하면 영문으로 작성하며, **현재형** 동사로 시작하는 **명령형** 문장 사용을 원칙으로 합니다.
Delete unnecessary condition // RIGHT
Fix #1234 // RIGHT
Deletes unnecessary condition // WRONG (불필요한 동사변화)
Fixed #1234 // WRONG (불필요한 과거형)
이 규칙에 맞추어 영문으로 커밋 메시지를 작성하기 어려운 경우, 한글로 작성해도 무방합니다.
한글 커밋 메시지는 **어디서** **무엇을** **어떻게** 했는지 간결하고 명확하고 격식있게 표현하며,
가능하면 현재형 동사로 마치도록 합니다.
크롬 최신 버전에서 스크립트 오류 해결 // RIGHT
Foo 클래스에 bar() 메소드 추가 // RIGHT
파일첨부 에러나는거 고쳤쩌염~^^ // WRONG (격식없는 표현)
함수 개선 // WRONG (두리뭉실한 표현)
### 기타 ### 기타
Rhymix에서 정한 `error_reporting` 설정 하에서 어떤 에러도 발생하지 않도록 하는 것을 목표로 합니다. Rhymix의 기본 `error_reporting` 설정 하에서 어떤 에러도 발생하지 않도록 하는 것을 목표로 합니다.
문자열과 문자열, 정수와 정수를 비교할 때는 가능하면 `==` 대신 `===`을 사용합니다. 문자열과 문자열, 정수와 정수를 비교할 때는 가능하면 `==` 대신 `===`을 사용합니다.
실제 자료형이 다를 가능성이 있는 경우 `intval()`, `strval()` 등의 함수와 함께 사용합니다. 실제 자료형이 다를 가능성이 있는 경우 `intval()`, `strval()` 등의 함수와 함께 사용합니다.
@ -160,5 +212,8 @@ Rhymix에서 정한 `error_reporting` 설정 하에서 어떤 에러도 발생
PHP 5.4 이상에서 지원하는 간단한 배열 문법(`[1, 2, 3]`)을 사용할 수 있으나, PHP 5.4 이상에서 지원하는 간단한 배열 문법(`[1, 2, 3]`)을 사용할 수 있으나,
복잡한 구조의 배열을 선언할 때는 이 문법이 오히려 가독성을 해칠 수 있으니 주의하시기 바랍니다. 복잡한 구조의 배열을 선언할 때는 이 문법이 오히려 가독성을 해칠 수 있으니 주의하시기 바랍니다.
전역 상수를 참조할 때는 `\RX_CLIENT_IP`와 같이 `\`를 앞에 붙여서,
추후 다른 네임스페이스로 코드를 이동 또는 복사하더라도 문제가 생기지 않도록 합니다.
여기에서 규정하지 않은 내용은 [PSR-1](http://www.php-fig.org/psr/psr-1/)과 여기에서 규정하지 않은 내용은 [PSR-1](http://www.php-fig.org/psr/psr-1/)과
[PSR-2](http://www.php-fig.org/psr/psr-2/)를 따릅니다. [PSR-2](http://www.php-fig.org/psr/psr-2/)를 따릅니다.