Clean Code · Ch.04

Clean Comments

코드가 주석보다 낫다

주석이 설명하려는 내용을 코드 자체로 표현할 수 있다면, 주석을 쓰지 마라.

❌ BEFORE
// 직원에게 복지 혜택이 있는지 검사한다
if ((employ.flags & HOURLY_FLAG) && employ.age > 65)
✅ AFTER
if (employ.isEligibleForFullBenefits())
🔍

비트 플래그 연산의 의미를 매번 기억할 필요가 없다.

📝

메서드 이름 자체가 비즈니스 규칙을 표현한다. 주석이 필요 없다.

🔄

조건이 변경되면 메서드 내부만 수정하면 된다. 주석은 코드와 함께 관리되지 않는다.

핵심 원칙 — 코드는 진실만을 말한다. 주석은 거짓말을 할 수 있다. 코드가 업데이트돼도 주석은 남는다. 좋은 이름 하나가 주석 여러 줄을 대체한다.

Ch.04 핵심 원칙 요약

주석 대신 코드로 말하기 — 네 가지 핵심

🏷️

이름이 모든 것을 설명한다

좋은 함수 이름은 주석 없이 의도를 전달한다.

⚠️

주석은 거짓말이 된다

코드는 변해도 주석은 그대로 남아 혼란을 준다.

🧩

비즈니스 규칙을 메서드로

isEligibleForFullBenefits() 처럼 캡슐화하면 재사용 가능하다.

진짜 좋은 주석

법적 주석, 의도 설명, 경고, TODO — 코드로 표현 불가능한 것만.

기억할 것 — 주석을 쓰고 싶다면 먼저 코드로 표현할 방법을 찾아라.