TIL (Today I Learned)
2022.02.25
오늘 읽은 범위
4장. 주석
책에서 기억하고 싶은 내용을 써보세요.
- 주석은 순수하게 선하지 못하다. 사실상 주석은 기껏해야 필요악이다. 프로그래밍 언어 자체가 표현력이 풍부하다면, 아니 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 거의 필요하지 않으리라. 아니, 전혀 필요하지 않으리라.(p.68)
- 정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. 부정확한 주석은 독자를 현혹하고 오도한다. 부정확한 주석은 결코 이뤄지지 않을 기대를 심어준다(p.69)
- 코드만이 정확한 정보를 제공하는 유일한 출처다. (p.69)
- 주석으로 처리한 코드만큼 밉살스러운 관행도 드물다. ... 주석으로 처리된 코드는 다른 사람들이 지우기를 주저한다. 이유가 있어 남겨놓았으리라고, 중요하니까 지우면 안된다고 생각한다. 그래서 질 나쁜 와인병 바닥에 앙금이 쌓이듯 쓸모 없는 코드가 점차 쌓여간다.(P.86)
- 주석을 달아야 한다면 근처에 있는 코드만 기술하라.(p.88)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
주석을 지금까지 다는 이유는 내가 쓴 코드를 남들이 이해하지 못할까봐 또는 내가 쓴 코드를 내가 이해하지 못할까봐 였다. 하지만 주석은 근본적인 해결책이 되지 못했고 못한다는것을 다시 한번 알게된다. 내가 주석을 달 수 밖에 없었고, 주석으로 이해해야했던 이유는 내가 코드를 작성하는데만 집중해서 그 코드가 명확하게 이야기를 풀어나가지 못했던 것이다.
이를테면 바퀴가 세모인데도 굴러만 가니까 괜찮은 자동차와 같다고 생각한다.
함수챕터를 읽었을때 처럼 코드를 쓸 수 있다면, 이제 다듬는 작업은 더욱 시간을 들여서 배로 고심해서 수정하는 작업을 거쳐야하고, 그것에 시간을 투자하는것을 아깝게 여기면 안 되겠다. 그러한 경험측이 쌓이다보면 자연스럽게 명확하고 깨끗한 코드를 쓸 수 있지 않을까 라는 기대도 해본다.