[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 상수의 이름은 이렇게 지어주세요.


출처

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유