주석이 설명하려는 내용을 코드 자체로 표현할 수 있다면, 주석을 쓰지 마라.
// 직원에게 복지 혜택이 있는지 검사한다 if ((employ.flags & HOURLY_FLAG) && employ.age > 65)
if (employ.isEligibleForFullBenefits())
비트 플래그 연산의 의미를 매번 기억할 필요가 없다.
메서드 이름 자체가 비즈니스 규칙을 표현한다. 주석이 필요 없다.
조건이 변경되면 메서드 내부만 수정하면 된다. 주석은 코드와 함께 관리되지 않는다.
주석 대신 코드로 말하기 — 네 가지 핵심
좋은 함수 이름은 주석 없이 의도를 전달한다.
코드는 변해도 주석은 그대로 남아 혼란을 준다.
isEligibleForFullBenefits() 처럼 캡슐화하면 재사용 가능하다.
법적 주석, 의도 설명, 경고, TODO — 코드로 표현 불가능한 것만.