페이지

2012년 1월 5일 목요일

Google JavaScript Style Guide 요약

http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml

자바스크립트 언어 규칙

1. 항상 var 로 선언한다.
2. 상수는 NAMES_LIKE_THIS 처럼 한다.
3. 세미콜론은 항상 사용한다.
4. 중첩된(nested) 함수는 자유롭게 쓴다.
5. block 안에서 함수 선언은 하지 마라. 할거라면 변수를 써라.
6. 예외를 사용하라
7. 커스텀 예외를 사용하라
8. 비표준 보다는 표준을 사용하라
9. primitive type을 랩핑한 객체는 사용하지 마라. type casting은 허용한다.
10. 다단계 prototype 계층 구조는 선호하지 않는다
11. 메소드 정의는 이렇게. Foo.prototype.bar = function() { ... };
12. Closure는 사용해되 조심스럽게.
13. eval()은 deserialization 시에만 사용
14. with() {}는 사용하지 마라.
15. this는 객체의 생성자, 메소드 그리고 closure를 셋업하는 곳에서만 사용하라
16. for-in loop는 객체/맵/해시에 있는 키를 반복할때만 사용하라
17. Array를 맵/해시/Associative array로 사용하지 마라.
18. 멀티 라인 문자열은 \를 사용하지 말고 +를 사용하라
19. Array와 Object를 선언할때는 new Array(), new Object()를 쓰지말고 [] 또는 {}를 써라.
20. 내장 객체의 prototype은 변경하지 마라.
21. IE의 조건문 주석은 사용하지 마라.

자바스크립트 스타일 규칙

1. 네이밍
functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis, and SYMBOLIC_CONSTANTS_LIKE_THIS

1.1 속성과 메소드
private 속성, 변수, 메소드는 _로 시작.
protected 속성, 변수, 메소드는  _를 붙이지 않음.

1.2 메소드와 함수의 파라미터
optional arguments는 opt_로 시작.
여러 개의 인자를 받는 함수의 마지막 인자느 var_args로 이름을 붙인다. var_args는 참조하지 않겠지만; arguments array를 사용해라.

1.3 Getter와 Setter
ECMAScript 5에서는 Getter 메소드, Setter 메소드를 속성으로 사용하지 않도록 하지만, 쓴다면 Getter 메소드는 관찰 가능한 상태를 바꾸지 말아야 한다.

1.4 Accessor function
Getter 메소드와 Setter 메소드를 굳이 쓴다면 getFoo(), setFoo()로 이름을 지어야 한다.(boolean getter라면 isFoo()가 좋다.)

댓글 없음: