2장 기초
2.10 명명규칙
언어의 기능을 만들어내거나 대체하기 위해 명명 규칙을 사용하기도 한다.
var PI = 3.14;
var MAX_WIDTH = 800;
__getName(); // private
_getName(); // protected
2.11 주석작성
문제에 깊이 몰입해 있을 때에는 코드가 어떤 일을 하느지가 명백히 보이는 것 같지만, 대개 일주일 후에 다시 코드를 들춰보면 코드의 동작을 정확히 기억해내는데 곤란을 겪게 된다.
뻔한 내용에 과도하게 주석을 달라는 게 아니다. 하지만 일반적으로 모든 함수의 매개변수와 반환 값에 대해서는 문서화할 필요가 있다.
2.12 API 문서작성
JSDoc & YUIDoc 자세한 내용은 책 참조
2.22 독자를 위한 문서작성
모든 작가와 편집자가 교정의 중요성을 강조한다.
…
종이 위에 뭔가를 써내려가는 것은 첫 걸음이자 초안에 불과하다. 초안도 독자에게 정보를 전달하긴 하지만 가장 명확하고 구조적이고 읽기 쉬운 방식이라고 하긴 어렵다.
…
기대되는 결과를 만들어냈다 해도, 어느 정도 시간이 흐른 다음에 코드를 다시 들춰보면 대부분의 경우 개선할 여지가 눈에 띌 것이다.
어떻게 하면 좀 더 읽기 쉬워지겠다거나, 일부 비효율적인 부분을 삭제해야겠다는 식으로 말이다.
이것이 본질적으로 교정의 과정이며, 고품질의 코드라는 목표에 크게 기여한다.
…
그렇기 때문에 API 문서 작성이 교정의 기회가 된다.
종종 문서 주석 블록을 작성하면서 문제를 재발견하게 된다. 예를 들어 메서드의 세 번째 매개변수가 사실상 두 번째 매개변수보다 더 자주 필요하고, 두번째 매개 변수는 기본값이 대부분 true라고 하자. 그렇다면 인터페이스를 살짝 변경하여 두번째와 세번째 매개변수를 맞바꾸는게 더 말이 될 것이다.
“하나는 버릴 계획을 세워라”라는 말도 있다. 처음 떠오른 해결책은 동작은 할지 몰라도 그저 초안일 뿐이며 해결책의 한 예시에 불과하다. 문제에 대해 좀더 깊이 이해한 상태에서 나오는 두 번째 해결책이 항상 더 낫다. 두번째 해결책을 만들 때는 첫번째 해결책을 복사해와서 붙여넣는 것을 금지해야 한다.