[JS] 자바스크립트 일관성 있는 코딩 원칙
[JS] 자바스크립트 일관성 있는 코딩 원칙
- 절대 스페이스와 탭을 섞어 쓰지 않는다.
- 프로젝트를 시작할 때 코드를 작성하기 전에 먼저 스페이스와 탭 중 하나를 선택
- 가독성을 위해서는 항상 편집기의 들여쓰기 크기를 2 문자로 설정을 권장
- 중괄호{}, 괄호(), 줄바꾸기
// if나 else, for while, try를 쓸 때에는 항상 빈 칸을 띠우고, 괄호를 사용하고, 여러 줄로 나누어 쓰세요.
// 이렇게 하면 가독성이 더 좋아집니다.
// 2.A.1.1
// 빼곡해서 알아보기 어려운 구문의 예
if(condition) doSomething();
while(condition) iterating++;
for(var i=0;i<100;i++) someIterativeFn();
// 2.A.1.1
// 가독성이 높아지도록 빈 칸을 띠워주세요.
if ( condition ) {
// 코드
}
while ( condition ) {
// 코드
}
for ( var i = 0; i < 100; i++ ) {
// 코드
}
// 아래처럼 하면 더 좋습니다:
var i,
length = 100;
for ( i = 0; i < length; i++ ) {
// 코드
}
// 아니면 이렇게 할 수도 있죠...
var i = 0,
length = 100;
for ( ; i < length; i++ ) {
// 코드
}
var prop;
for ( prop in object ) {
// 코드
}
if ( true ) {
// 코드
} else {
// 코드
}
- 따옴표
- 작은 따옴표로 하냐 큰 따옴표로 하느냐 큰 상관없지만, 한 스타일만 고수
- 형변환과 비교
// 4.2.1
// 형변환 과 비교에 관한 메모
`===` 가 `==` 보다 좋습니다. (느슨한 형 비교가 필요하지 않는 이상)
=== 는 형변환을 하지 않습니다. 무슨뜻인가 하면:
"1" === 1;
// false
== 는 형변환을 합니다, 무슨 뜻인가 하면:
"1" == 1;
// true
// 4.2.2
// 불린값, 참(true)으로 간주되는 것, 거짓(false)으로 간주되는 것
불린값: true, false
참(true)으로 간주되는 것: "foo", 1
거짓(false)으로 간주되는 것: "", 0, null, undefined, NaN, void 0
- 이름 짓기
// 6.A.3.1
// strings의 이름 짓기
`dog` 은 문자열입니다.
// 6.A.3.2
// 배열의 이름 짓기
`dogs` 는 `dog` 문자열이 들어있는 배열입니다.
// 6.A.3.3
// 함수나 오브젝트(object), 객체(instance) 등의 이름 짓기
camelCase; 함수와 변수를 선언할 때는 이렇게 이름지어 주세요.
// 6.A.3.4
// 생성자, prototypes, 기타 등등의 이름 짓는 법
PascalCase; 생성자 함수의 이름은 이렇게 짓습니다.
// 6.A.3.5
// 정규표현식의 이름 짓는 법
rDesc = //;
// 6.A.3.6
// 구글 Closure 라이브러리 스타일 가이드에서 발췌한 것
functionNamesLikeThis; // 함수는 이렇게 이름을 지으시고..
variableNamesLikeThis; // 변수는 이렇게 이름을 지으세요.
ConstructorNamesLikeThis; // 생성자는 이렇게 이름을 지으시고..
EnumNamesLikeThis; // Enum의 이름은 이렇게 지으세요.
methodNamesLikeThis; // 메서드의 이름은 이렇게 지으시고,
SYMBOLIC_CONSTANTS_LIKE_THIS; // symbolic 상수의 이름은 이렇게 지어주세요.
출처
댓글
댓글 쓰기