8장: 주석 자제하기
메서드 내부에 있으면서 javadoc과 같은 외부도구에서 사용하지 않는 주석을 대상으로 함
주석을 없에는것이 좋을수 있는 이유
- 코드가 명확하고 좋은 타입명과 변수명을 사용하는 경우
- 주석은 컴파일러가 확인하지 않으므로 특히 코드가 수정된 후에는 주석이 맞다고 보장할 수 없다
주석이 스멜을 가진 코드 위에 탈취제처럼 자주 사용된다 주석을 달기보다 코드를 정리해야 된다
일반적인 문제는 이해할 수 없는 코드를 작성한 작성자가 주석으로 어떻게든 명확하고 분명하게 표현할 수 있다고 생각한다는 것
코드가 표현할 수 없는 것만 주석으로 처리하십시오
오래된 주석 제거
해당 주석은 잘못된 정보를 제공하거나 이해하는데 더 방해를 한다
주석 처리된 코드 제거
버전 관리를 하기 때문에 주석으로 코드를 관리 할 필요가 더이상 불필요하다
불필요한 주석 제거
코드가 주석만큼 읽기 쉬울때 해당 주석을 불필요한 주석이라고 한다
메서드의 이름으로 주석 대신하기
일부 주석은 기능보다는 코드를 문서화한다. 메서드 명으로 해당 주석을 대신한다
계획을 위한 주석 사용
주석으로 계획을 세울수도 있지만 구현후에는 불필요한 주석일수 있다
불변속성을 문서화한 주석 유지
주석을 코드를 바꿀수 있는지?
검증하기 위한 자동화된 테스트를 만들 수 있는지?
위에 두개를 모두 실행할수 없으면 주석을 유지해야 한다
프로세스의 불변속성
나무를 심기에 가장 좋은 때는 20년 전이었다. 두 번째로 좋은 때는 바로 지금이다