Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
[TIL] 4. 주석
#clean_code
2년 전
377


TIL (Today I Learned)

2022.02.25

오늘 읽은 범위

4. 주석

책에서 기억하고 싶은 내용을 써보세요.

  • 주석은 쉰들러 리스트가 아니다. 주석은 ‘순수하게 선하지’ 못하다. 사실상 주석은 기껏해야 필요악이다. 프로그래밍 언어 자체가 표현력이 풍부하다면, 아니 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 거의 필요하지 않으리라. (p144)

  • 주석은 언제나 실패를 의미한다. (중략) 내가 이렇듯 주석을 무시하는 이유가 무엇이냐고? 거짓말을 하니까. 코드는 변화하고 진화한다. 불행하게도 주석이 언제나 코드를 따라가지는 않는다. 아니, 따라가지 못한다. (p144)

  • 어떤 주석은 필요하거나 유익하다. 지금부터 글자 값을 한다고 생각하는 주석 몇 가지를 소개한다.

    1)) 법적인 주석: 때로는 회사가 정립한 구현 표준에 맞춰 법적인 이유로 특정 주석을 넣으라고 명시한다.

    2) 정보를 제공하는 주석: 때로는 기본적인 정보를 주석으로 제공하면 편리하다. 때때로 이러한 주석이 유용하다 할지라도 가능하다면, 함수 이름에 정보를 담는 편이 더 좋다.

    3) 의도를 설명하는 주석: 때때로 주석은 구현을 이해하게 도와주는 선을 넘어 결정에 깔린 의도까지 설명한다.

    4) 의미를 명료하게 밝히는 주석: 모호한 인수나 반환값은 그 의미를 읽기 좋게 표현하면 이해하기 쉬워진다.

    5) 결과를 경고하는 주석: 다른 프로그래머에게 결과를 경고할 목적으로 주석을 사용한다.

    6) TODO 주석: ‘앞으로 할 일’을 //TODO 주석으로 남겨두면 편하다. (…)

  • 주석으로 처리된 코드는 다른 사람들이 지우기를 주저한다. 이유가 있어 남겨놓았으리라고, 중요하니까 지우면 안 된다고 생각한다. 그래서 질 나쁜 와인병 바닥에 앙금이 쌓이듯 쓸모 없는 코드가 점차 쌓여간다.

  • 소스 코드 관리 시스템이 우리를 대신해 코드를 기억해준다. 이제는 주석으로 처리할 필요가 없다. 그냥 코드를 삭제하라. 잃어버릴 염려는 없다. 약속한다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

  • 주석을 사랑하는 사람으로서 아주 찔리는 파트였다. 특히나 나쁜 주석 파트는 뼈를 때리고 또 때렸다.. 가장 공감되는 주석은 ‘주석으로 처리한 코드’ 부분이었다. 나는 왜 코드를 잃어버리는 것에 그렇게 집착할까? 이미 코드 관리 시스템이, 깃헙이 잘 보관하고 (오히려 나보다 더 정확하고 효율적으로!) 있을텐데 말이다. 아마 그것은 내가 나의 코딩 실력을 믿지 못해서가 아닐까 하는 생각까지 이어졌다. 때문에 이 코드가 날아가고나면 나는 다시는 이러한 코드를 못 짤 것이라고 생각해버리고 마는 것이다. 조금 더 자신을 믿으면 주석 없는 깔꼼한 코드가 나오지 않을까 싶다. 주석 없음은 곧 자신의 실력에 대한 믿음을 보여주는 것 아닐까.

  • 백신 예방 접종으로 인한 컨디션 저조로 꼼꼼하게 읽지 못해 아쉽다. 곧 다시 읽고자 한다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.