본문 바로가기
공부내용

TIL_클린코드_4장_주석

by 바나나하나 2022. 4. 29.
반응형

TIL (Today I Learned)

2022.04.29

오늘 읽은 범위

4장. 주석

책에서 기억하고 싶은 내용

나쁜 코드에 주석을 달지 마라. 새로 짜라. - 브라이언 W. 커니핸, P. J. 플라우거 - 68page

프로그래밍 언어 자체가 표현력이 풍부하다면, 아니 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 거의 필요하지 않으리라. 아니, 전혀 필요하지 않으리라.- 68page

주석은 오래될수록 코드에서 멀어진다. 오래될수록 완전히 그릇될 가능성도 커진다. 이유는 단순하다. 프로그래머들이 주석을 유지하고 보수하기란 현실적으로 불가능하니까. - 68page

 

좋은 주석

- 법적인 주석

- 정보를 제공하는 주석

- 의도를 설명하는 주석

- 의미를 명료하게 밝히는 주석

- 결과를 경고하는 주석

- TODO주석

- 중요성을 강조하는 주석

- 공개 API에서 Javadocs

 

나쁜 주석

- 주절거리는 주석

- 같은 이야기를 중복하는 주석

- 오해할 여지가 있는 주석

- 의무적으로 다는 주석

- 이력을 기록하는 주석

- 있으나 마나 한 주석

- 무서운 잡음

- 함수나 변수로 표현할 수 있다면 주석을 달지 마라

- 위치를 표시하는 주석

- 닫는 괄호에 다는 주석

- 공로를 돌리거나 저자를 표시하는 주석

- 주석으로 처리한 코드

- HTML 주석

- 전역 정보

- 너무 많은 정보

- 모호한 관계

- 함수 헤더

- 비공개 코드에서 Javadocs

 

오늘 읽은 소감은? 떠오르는 생각

성공한 삶을 살기 위한 방법에 대해 설명하는 내용들을 들어보면, '하지 말아야 할 것들을 정의'하는 것이 얼마나 중요한지를 강조한다. 때로는 어떤 것을 해야하는지보다도 하지않는 것에 집중하는 것이 성공에 지름길이 될 수 있기 때문이다. 주석에도 이런 내용이 적용되는 것 같다. 주석은 최대한 하지 않아야 하는 것이고, 꼭 필요한 경우에는 어쩔 수 없이 최대한 고민하며 달아야 하는 것이다. 독자가 최대한 코드를 읽으며 그 코드 자체에서 코드가 전달하고자 하는 의미를 충분하게 전달하는 상황에서 주석을 달게 된다면, 개발에서 그토록 피해야할 중복이 발생하는 것이기 때문이다. 주석을 달아서 내가 코드를 짜는 능력이 부족함을 알리는 시간에 난장판인 코드를 다시 정리해서 독자가 술술 읽을 수 있는 코드를 다는 편이 낫다는 것이 이 책의 저자의 입장이다. 

 책을 읽으면서 나쁜 주석에 해당하는 주석이 달려 있는 내 코드들이 생각났다. 내가 읽기에도 난해한 코드를 짜놓고 내가 이 코드를 다시 보게 될 때 쉽게 이해하기 위해서 주석을 달아놓았던 경우들이 생각났다. 충분히 변수에 담아서 표현하거나 함수를 만들어서 이름을 달았다면 내용을 쉽게 이해할 수 있었을텐데라는 생각에 이 책을 읽기 잘했다는 생각이 들었다. 

내 코드 다시 읽으면서 최대한 주석을 없애보고 마지막까지 남겨야할 주석들만 가려보는 것이 더 나은 개발자가 되기 위한 연습이 될 수 있을 것이다.

반응형

댓글