1 분 소요

오늘의 책 읽기: 추천사 ~ 1장. 깨끗한 코드


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

  • 어느 수준에 이르면 코드의 도움 없이 요구사항을 상세하게 표현하기란 불가능하다. 추상화도 불가능하다. 정확히 명시하는 수 밖에 없다. 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍이다. 이렇게 명시한 결과가 바로 코딩이다.
  • 우리가 시키는 대로가 아니라 원하는 대로 돌아가는 기계가 나오리라 기대한다. 우리가 그런 기계를 만드는 방법을 찾아내리라 믿는다. 요구사항을 모호하게 말해 줘도 우리 의도를 정확하게 꿰뚫어 프로그램을 완벽하게 실행하는 그런 기계 말이다. 절대로 불가능한 기대다.
  • 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그때 그 시절 우리는 르블랑의 법칙1을 몰랐다. 나중은 결코 오지 않는다.
  • 코드를 읽는 시간 대 코드를 짜는 시간 비율이 10대 1을 훌쩍 넘어간다. 새 코드를 짜면서 우리는 끊임없이 기존 코드를 읽는다.

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

  • 이 책은 2013년에 나왔다. 복간되었다고 하는데 여튼 오래된 책인 것은 분명하다. 그런데도 이미 그때부터 코드의 종말과 자동 생성에 대해 얘기하고 있다. 물론 그때와 현재의 그녀석의 코드 생산 속도와 정확도는 그 때와는 확연히 다르다. 하지만 책에서도 나오다시피 코드는 어느 수준까지는 인간이 써야한다. 그 수준이 점점 더 정교해지는 것 같기는 하지만. 아직은 그녀석이 코드를 써주면 인간이 읽고 고칠 부분을 고치고 ide에 입력을 해서 실행을 하고 생각과 다르면 디버깅을 해야 한다. 아마 사람이 할 일은 점점 줄어들겠지. 이렇게 코드의 영향력은 줄어들 수 있지만 코드의 종말은 오지 않을 것 같다. 완벽한 시스템, 완벽한 자동화는 없다. 어딘가에는 인간이 써 줘야 하는 부분이 있지 않을까?
  • 나쁜 코드의 문제점을 보면서 진행 중인 플러터 프로젝트가 생각이 났다. 점점 옛날 코드를 읽어보고 사용하고 고칠 일이 많아지면서 시간이 오래 걸리기 시작했다.

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

📗 오늘 읽은 다른사람의 TIL

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

  1. leblanc’s Law, 나중은 오지 않는다.