"프로그램은 우선 사람이 이해할 수 있어야 한다. 컴퓨터에서 실행되는가는 부차적인 문제다."
- 도널드 커누스
- 각자 다른 일을 하던 사람들이 모여 처음 한 팀을 이룰 떄는, 코드 작성 방법도 통일되지 않고 제각각이기 마련.
- 서로 다른 환경에서 일을 해왔기 때문에 코드 작성 방법에 대한 생각이 다를 수 있다.
- 그러기에 작성 방법을 통일할 필요가 있다.
Note. "스타일 가이드라인" 과 "코딩 규칙"을 자주 혼동하여 사용. 스타일 가이드라인 : 소스 코드의 레이아웃에 초점을 맞춘 규칙. 코딩 규칙 : 프로그래밍 관례와 디렉터리 구조, 주석에 대한 것도 포함. |
스타일 가이드라인은 왜 필요한가?
- 코드에 일관성이 있어야 더 이상 코딩 스타일 같은 사소한 일로 시간을 허비 하지 않고 깊은 논의가 가능.
- 코드에 일관성이 생기면 팀에서 다음과 같은 장점을 얻을 수 있다.
- 작성자와 상관없이 어떠한 파일이든 다른 개발자가 작업 가능. 또한 모든 파일에 일관싱이 있으니 포맷을 다시 맞추거나 꼬여있는 로직을 이해하는 데 시간 낭비할 필요가 없음. - 에러가 훨씬 잘 보임. 코드를 일관되게 작성하면 잘못된 부분은 일관적인 흐름에서 벗어나기 때문. |
- 이러한 이유로 전 세계의 많은 기업이 내/외부적으로 스타일 가이드라인을 공개함.
유용한 툴
- 코딩 가이드라인은 세우기도 어렵지만, 지키는 것도 굉장히 어렵다.
- JSLint는 자바스크립트에 대한 일반적인 코드 품질 검증 툴로 더글라스 크락포드가 만듦.
- 초기 JSLint는 자주 틀리는 자바스크립트 패턴을 찾는 간단한 유틸로 시작. 이후 코드에서 잠재적인 에러를 찾는 것 뿐만 아니라 스타일에 대한 이슈도 경고하도록 발전.
크락포드는 자바스크립트 스타일을 다음 세가지로 나누어 정리. - 자바스크립트 스타일 요소 1(http://javascript.crockford.com/style1.html) 기본적인 패턴과 문법에 대해 다룬다. - 자바스크립트 스타일 요소 2(http://javascript.crockford.com/style2.html) 일반적으로 사용하는 관용구를 다룬다. - 자바스크립트를 위한 코딩 규칙(http://javascript.crokford.com/code.html) 스타일 요소1, 2,를 강조하고 스타일 가이드라인 코드를 추가 |
- JSHint는 JSLint에서 파생. 안톤 코발료프가 관리.
- JSHint의 목적은 사용자 취향에 맞게 변경할 수 있는 자바스크립트 코드 품질과 스타일 가이드라인에 대한 툴을 제공.
- 문법 에러를 제외하고 JSHint에서는 거의 모든 경고를 끌 수 있다.
- 안톤 코발료프는 GitHub의 소스 코드 저장소를 통해 JSHint에 참여하고 기여하길 권장.
= 이러한 툴들은 빌드 프로세스에 포함시키면 코드에 숨어있는 잠재적인 에러도 잡을 수 있고, 코딩 규칙이 자리잡는데 좋은 시작점이 될 수 있다.
'JavaScript > Maintainable JavaScript' 카테고리의 다른 글
Chapter4. 변수, 함수, 연산자 (0) | 2016.09.23 |
---|---|
Chapter3. JavaScript 문장과 표현식 (0) | 2016.09.06 |
Chapter2. Javascript 주석 (0) | 2016.09.06 |
Chapter1. JavaScript 기본 포맷 (0) | 2016.09.03 |
Maintainable JavaScript 시작. (0) | 2016.09.03 |