[TIL] [2024.10.16] Clean Code

김동진김동진
2 min read

#노개북 #노마드코더 #개발자북클럽

오늘 읽은 범위 : 4장. 주석

💡
Today I Learned
  • 함수나 변수로 표현할 수 있다면 주석을 달지 마라

  • 코드가 변해도 주석이 변하리라는 보장은 전혀 없다.

    • 설계서를 작성해서 문서관리를 하자. etc) JIRA, Confluence, Slack, Office(Word, Excel …)
  • 이력 관리는 주석이 아닌, 형상관리 툴을 사용하자. etc) Git, SVN, Toltoise …

💡
책에서 기억하고 싶은 내용을 써보세요.
  • 있으나 마나 한 주석을 달려는 유혹에서 벗어나 코드를 정리하라. 더 낫고, 행복한 프로그래머가 되는 지름길이다.
💡
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
  • 주석은 어떤 상황에서 어떻게 사용하는 것이 좋은가. 책을 읽다보니 코드를 처음 배울 때, CSS를 배너주석 아래에 기능별로 모아놓는다던가 Early return Pattern을 몰라 끝없는 중첩구문을 마주하던 기억이 떠올랐다. 그 당시에는 그리 길지 않은 코드였기에 배너주석 아래에 기능별로 모여있는 것이 합리적이라고 생각했었지만 이후 규모가 커지면서 관리해야할 코드가 늘어나자 배너 주석은 있으나 마나 한 존재가 되었고, 오히려 CSS를 모듈화하여 때론 페이지별로, 때론 기능별로 관리하는 것이 더 효율적이라는 것을 알게되었다. 지금 생각해보면 값진 경험이었지만 이 책을 먼저 읽었더라면 많은 도움을 받지 않았을까 생각한다.

  • 오늘은 주석에 관련된 이야기였지만, 가장 인상깊었던 내용은 에라스토테네스의 체라는 알고리즘의 최적화에 대한 이야기였다. 개발 공부를 하면 할 수록 수학과는 떼놓을 수 없다는 느낌을 받는다. 소수를 구할 때 제곱근보다 더 큰 숫자의 배수는 고려하지 않아도 된다니! 누군가는 당연히 알고있는 문제일 수도 있지만, 나에게는 O(n²)나 걸리는 문제가 O(nloglogn)으로 획기적인 시간단축을 이루는 최적화 방법이었다. (당시에는 중요하게 생각하지 않았지만, 실제로 학부생때 선배는 정수론을 읽어보라고 추천했었다.)

  • 주석(註釋) : 낱말이나 문장의 뜻을 쉽게 풀이하는 것,

    코드에서 주석이란 역설적이게도 그 뜻과는 반대로 쉽게 풀어쓰려는 의도가 도리어 가독성을 해치게 된다는 점에서 깊게 공감했다. 정작 필요한 곳에 사용되지 못하는 주석은 필요한 곳에 사용된 주석마저 지나치게 만들 수 있기 때문에 없으니만 못하다.

  • (말은 쉽지, 코드를 보여 줘.)

    "Talk is cheap, show me the code”

    - Linus Torvalds -

    위 격언에 빗대어보면 주석을 달아서 읽는 사람이 이해할 수 있도록 하라는 의미가 아니라, 코드를 명확하게 작성하여, 누구라도 알아볼 수 있는 코드를 추구하라는 의미로도 통용되지 않을까.

🌟
최애의 Book TIL
  1. https://kirahaa.github.io/clean-code-05/
    - 깔끔하고 정리가 잘 된 글 -

  2. https://yong-nyong.tistory.com/33

    - 간단명료한 글 -

  3. https://kjchoi.co.kr/7

    - TIL 이라는 목적에 충실한 글 -

0
Subscribe to my newsletter

Read articles from 김동진 directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

김동진
김동진