더북(TheBook)

위 코드는 logistics 패키지의 JavaDoc입니다.* 언뜻 보면 JavaDoc 주석이 좋아 보입니다. 그렇죠? 나쁘지 않은 간략한 요약문으로 시작하고 더 상세한 설명이 뒤를 잇고 패키지 내 모든 클래스 목록이 나옵니다. 심지어 @author와 현재 배포판의 @version, 이 패키지를 추가했을 때의 버전인 @since를 나타내는 특수 표기까지 사용합니다. 하지만 여러 번 들여다보면 많은 문제점을 발견할 수 있습니다!

기본적으로 요약문은 불필요합니다. 요약문의 품질이 아닌 단어 수만큼 월급을 받는다면 모를까요.

나머지 설명은 너무 추상적입니다. 패키지 내 클래스를 어떻게 사용하나요? 전체 클래스 목록이 정말 필요한가요? 그렇지 않습니다! JavaDoc은 그래도 이 목록을 자동으로 생성합니다.

마지막 표기도 전혀 유용하지 않습니다. 버전 관리 도구에도 들어 있는 중복 정보죠. 이 정보를 코드와 동기화할 사람 있나요? 손 들어 보세요.

요약하면 위 코드 내 대부분의 정보는 불필요한 군더더기입니다. 소스만 보면 바로 알 수 있죠.

 

 

* 패키지의 JavaDoc은 package-info.java 파일에 넣어야 합니다. 비슷하게 자바 9의 모듈에도 전용 module-info.java 파일이 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.