나쁜 코드에 주석을 달지마라. 새로 짜라.
주석은 언제나 실패를 의미한다. 코드로 의도를 표현할 방법을 찾지 못해 할 수 없이 주석을 사용한다. 주석은 오래될수록 코드에서 멀어진다. 주석까지 유지보수하기란 현실적으로 불가능하니까. 부정확한 주석은 독자를 현혹하고 오도한다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 그러므로 우리는 주석을 가능한 줄이도록 꾸준히 노력해야 한다.
# before
// 직원에게 복지 혜택을 받을 자격이 있는지 검사한다.
if ((employee.flags & HOURLY_FLAG) && employee.age > 65)
# after
if (employee.isEligibleForFullBenefits())
어떤 주석은 필요하거나 유익하다.
대다수 주석이 이 범주에 속한다.
소스 코드 관리 시스템
이 없었으니까.
소스 코드 관리 시스템을 사용할테니 이제는 완전히 제거하는 편이 좋다.
// name
private String name;
// code
private String code;
// code (copy&paste)
private String version;