"프로그램은 우선 사람이 이해할 수 있어야 한다. 컴퓨터에서 실행되는가는 부차적인 문제다."

  - 도널드 커누스


  - 각자 다른 일을 하던 사람들이 모여 처음 한 팀을 이룰 떄는, 코드 작성 방법도 통일되지 않고 제각각이기 마련.

  - 서로 다른 환경에서 일을 해왔기 때문에 코드 작성 방법에 대한 생각이 다를 수 있다.

  - 그러기에 작성 방법을 통일할 필요가 있다.


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에 참여하고 기여하길 권장.


= 이러한 툴들은 빌드 프로세스에 포함시키면 코드에 숨어있는 잠재적인 에러도 잡을 수 있고, 코딩 규칙이 자리잡는데 좋은 시작점이 될 수 있다.

+ Recent posts