책 리뷰/클린코드
클린코드 - 4장
eess
2024. 8. 27. 17:03
🔖 4장 : 주석
읽은 날짜 : 2024.08.27
지은이 : 로버트 C. 마틴
출판사 : 인사이트
기억하고 싶은 내용
주석은 나쁜 코드를 보완하지 못한다
- 코드만으로 의도를 표현하는 것을 우선으로 해야 한다.
- 주석이 거의 없는 코드가 복잡한 주석이 많이 달린 코드보다 좋다.
좋은 주석이란?
- 법적인 주석
- 저작권, 소유권 정보, 표준 라이선스, 외부 문서 등
- 정보를 제공하는 주석
- 표현력 있게 코드를 작성하면 필요 없어질 수 있다.
- ✅ 구현 의도를 설명하는 주석
- 인수나 반환값의 의미를 명료하게 밝히는 주석
- ✅ 결과를 경고하는 주석
- ~하지 마세요, ~해야 합니다 등
- ✅ TODO 주석
- 앞으로 할 일, 필요하지만 당장 구현하기 어려운 업무 등
- ✅ 그냥 넘어갈 수 있는 부분의 중요성을 강조하는 주석
- 공개 API의 Javadocs
나쁜 주석이란?
- 코드 내용을 그대로 설명하는 주석
- 오해할 여지가 있는 주석
- 코드보다 읽기 어렵고 잘못된 정보가 포함된 경우
- 의무적으로 다는 주석
- 모든 함수에 Javadocs를 넣을 필요는 없다.
- 비공개 코드라면 Javadocs는 굳이 필요하지 않다.
- 변경 이력을 기록하는 주석
- 버전 관리 시스템이 있기 때문에 완전히 제거하는 것이 좋다.
- 너무 당연해서 새로운 정보를 제공하지 못하는 주석
- 읽는 사람이 오히려 부주의하게 넘기기 쉽다.
- 위치를 표시하는 주석
- e.g. // Actions /////////////////////////
- 반드시 필요한 경우에만 사용해야 한다.
- 적절한 들여쓰기와 포맷팅, 함수와 변수에 의미를 부여하는 것으로 주석을 없앨 수 있다. [참고]
- 닫는 괄호에 다는 주석
- 중첩이 심하고 장황한 함수가 아니라면 의미가 없다.
- 대신에 함수를 줄이려고 시도해보자.
- 저자를 표시하는 주석
- 버전 관리 시스템으로 알 수 있기 때문에 필요하지 않다.
- 주석으로 처리한 코드
- 버전 관리 시스템으로 추적할 수 있기 때문에 과감히 삭제하는 것이 좋다.
- 너무 많은 정보를 담은 주석
- 흥미로운 역사나 관련 없는 정보
오늘 읽은 소감
오픈 소스나 코드를 잘 짜는 동료의 코드를 보면 주석이 거의 없었던 걸로 기억합니다.
코드에 의도를 담아서 작성하고, 불필요한 주석을 줄이는 것이 중요하다는 것을 알게 되었습니다.
또한 주석을 달 때는 이해하기 쉽고 명료하게, 코드 자체를 설명하지 않도록 해야겠습니다.