4장 - 주석을 쓸바에 코드를 더 의미있게 짜라

길고 꾸준하게·2022년 4월 28일
1

CleanCode

목록 보기
4/5


오늘도 역시 내이야기 중이다 아닌척하고싶지만...
사실 부트캠프당시 팀프로젝트때도 나의 코드가 읽는사람에게 혼란을줄수있어 주석으로 나름대로 설명 + 의도를 자주적었고, 코드상으로 좋지 않아보이는 부분을 보완하려고 주석을 이용했다. 물론 이책을 읽기 전에 나는 여전히 그러고있었다.

정확히 맞는말이다 코드에 내가 전하려는 의미가 다담기지 않으니 주석으로 땜빵을 치려는 속셈인것이다. '나쁜코드에 주석을 달바에 코드를 새로짜라' 4장을 시작하는 말이다. 또 내 얘기중이다

그래도 희소식은 주석이 다 나쁜건 아니라는거다. 좋은주석/나쁜주석이 나눠져있는데.

좋은주석의 몇가지 예는

  • 코드를 짠 의도를 설명
  • 중요성을 강조
  • 정보 제공 => 하지만 함수나 변수에 '이름짓기'에 더 신중을 가하면 해결할수 있는 부분이라고 한다
  • 입/출력 양식에 법적으로 조건이 졍해져있을때

더 많지만 내가 정확히 이해한바로는 위 4가지가 있다. 하지만 결론적으로 좋은주석은
'주석을 달지않을 방법을 찾아낸 주석' 이라고 한다. 결국 주석은 안쓸수록 좋다는것.

if( (employee.flags && HOURLY_FLAG) && (employee.age>65) )
//직원이 복지혜택을 받을수 있는지 검증.

--주석에 담은 코드의 의미를 코드자체에 녹여낸 모습의 예--

if(employee.isEligibleForFullBenefits())

저자는 주석에 담을 의미를 '코드'에 온전히 담는것을 권한다. 왜냐면 언제나 진실은 '코드'에만 담겨있고, 그 코드는 매번 진화하지만 주석은 그에따라 유지보수하는게 어렵기때문에.

그렇다면 안좋은주석은 무엇일까? => '대부분'
주석을 달지 않아도 될만큼 '코드'만보고 스토리텔링이 가능하게 하는것. 1장에서도 강조한 부분중에 하나다. 4장까지 읽었지만 1장을 제외한 각 장의 결론이 1장으로 수렴한다..

요약

  • 좋은주석/나쁜주석은 있지만 없을수록 좋고, 주석을 쓸바에 코드의 의미를 코드에 담아내는것이 가장중요.
  • 나쁜코드를 주석으로 보완하려고 하지도 말고. 차라리 새로 코드를 짜라
  • 그래도 코드를 짠 '의도'를 설명하는 주석은 좋은주석!
profile
작은 나의 개발 일기장

0개의 댓글