https://github.com/tipjs/javascript-style-guide#%ED%98%95types
위 문서를 참고하였다. 위 문서 중 몇가지 내가 특히 주의하면 좋을 점들을 정리해 놓았다.
- 문자열 (string) 에는 싱크쿼트 (' ')를 사용한다. (6.1)
- 100문자 이상의 문자열은 문자열 연결을 사용하여 복수행에 걸쳐 기술한다. (6.2)
- 프로그램에서 문자열을 생성하는 경우 문자열 연결이 아닌 template strings (` `) 를 이용한다. (6.4)
- 함수의 default 파라메터는 뒤쪽에 둔다. (7.9)
- 식이 복수행에 걸쳐있을 경우, 가독성을 위하여 소괄호로 감싼다. (8.3)
- 와일드카드 (wildcard) 임포트 (import) 는 이용하지 않는다. (10.2)
- 이터레이터 (iterator) 의 사용보다 map과 reduce와 같은 JS 고급함수 (higher-order functions) 를 이용한다. (11.1)
- 변수를 이용하여 프로퍼티에 엑세스하는 경우에만 대괄호를 사용한다. (12.2)
- const를 우선적으로 그룹화하고 그 다음 let을 그룹화한다 (13.3)
- 단축형을 사용한다. (15.3)
- 복수행의 코멘트는 /** ... */, 단일행의 코멘트는 // 를 사용하며, 코멘트를 추가하고 싶은 코드의 상부에 배치한다. (17.1, 17.2)
- 문제에 대한 주석은 // FIXME: 를 사용한다. (17.4)
- 문제에 대한 해결책은 // TODO: 를 사용한다. (17.5)
- 문의 앞과 블록의 뒤에는 빈 행을 남긴다. (18.7)
- 필요없는 경우 블록에 빈행을 끼워 넣지 않으며 소괄호의 안쪽에 스페이스를 추가하지 않는다. (18.8, 18.9)
- 대괄호의 안쪽에 스페이스를 추가하지 않으며 중괄호의 안쪽에는 스페이스를 추가해 준다. (18.10, 18.11)
- String으로 형변환하는 경우 String()를 사용한다. (21.2)
- Number로 형변환하는 경우 Number() 또는 parseInt()를 사용한다. parseInt의 사용에 경우 10을 두 번째 인수로 무조건 넣어준다. (21.3)
- Booleans로 형변환 (값이 존재하는지) 의 경우 Boolean() 또는 !!variable 을 사용한다. (21.6)
- 오브젝트, 함수, 그리고 인스턴스는 카멜 표기법을 사용한다. (22.2)
- 클래스나 컨스트럭터에는 파스칼 표기법을 사용한다. (22.3)
- private 프로퍼티명은 선두에 언더스코어를 사용한다. (22.4)
- 파일을 1개의 클래스로 export하는 경우, 파일명은 클래스명과 완전히 일치시킨다. (22.6)
- export default가 함수일 경우 카멜 표기법을 사용한다. (22.7)
- 싱글턴, 함수 라이브러리, 또는 빈 오프젝트를 export 하는 경우 파스칼 표기법을 사용한다. (22.8)
- 프로퍼티를 위한 엑세서 (accessor) 함수는 필수가 아니다. 다만 필요한 경우 getVal() 또는 setVal('')로 한다. (23.1, 23.2)
- 프로퍼티가 불리언인 경우 isVal() 또는 hasVal()로 한다. (23.3)
'Javascript' 카테고리의 다른 글
JavaScript - this와 호출, bind (0) | 2020.08.11 |
---|---|
JavaScript - 함수, 화살표 함수와 기존 함수 (Function, Arrow Function and Classic Function) (0) | 2020.08.07 |
JavaScript - 호이스팅 (Hoisting) (0) | 2020.08.06 |
JavaScript - 이벤트 루프 (Event Loop) (0) | 2020.08.04 |
JavaScript - 비동기와 동기 (Asynchronous and Synchronous) (0) | 2020.08.04 |