2013년 1월 17일 목요일
0074 읽기 좋은 코드가 좋은 코드다.
나는 사실 이 책의 저자분을 다른 책에서 몇 번 본 적이 있다. 뉴욕의 증권가에서 성공적인 프로그래머를 살고 있는 분으로, 프로그래머 관련 서적들을 많이 쓰기도 하고 번역도 하시기 때문이다. 이분과 연관된 책은 대부분 만족스러웠으며(사실 프로그래머로서 가장 연봉이 많은 월스트리트에스 프로그래머를 한다는 것 자체가 이분의 실력을 대변하는 한 척도가 아닐까 한다.) 생각해보면 이 책은 '역자'를 보고 고른 면이 없지 않다. 역자를 보고 책을 고른다는 일이 내게 또 있을까..라는 생각이 들 정도로 보기 드문 케이스다.
요즘 들어 프로그래머로서의 나 자신에게 많이 느끼는 부분이 하나 있다. '좋은 코드'에 광적으로 집착한다는 것이다. 간결하게 정의된 것들이 조화롭게 맞아 떨어져 작동하는 게 끔 만드는 것. 내가 원하던 일을 간결하게 수행하도록 코드를 짰을 때의 끓어 오르는 만족감 때문에 종종 새벽에 흥분감에 휩싸이곤 한다.
사실 이것은 그다지 좋은 습성은 아닌 것 같다. 특히 최근엔 코드를 계속 갈아 엎어버리는 일이 계속 일어나고 있다. (가장 좋은 것은 역시나 아리스토텔레스의 윤리학까지 거슬러 올라가야 하는 것인가. 적당히. 적당히가 제일 좋지만.. 그게 참 힘들다.)
Lua라는 스크립트 언어와 Corona SDK를 사용하여 만드는 것은 어쨋든 익숙치 않은 일이었고, 스크립트 언어의 한계가 점점 보이다 보니 기존에 광적으로 좋아하는 객체지향 개념을 깔끔하게 적용하기 어려웠다. 프로젝트를 진행하다보니 코드는 커져만 가는데, 스크립트의 한계랍시고 그때그때 지저분한 코드를 만드는 일은 스스로 용납할 수 없었다.
매일 코드의 설계를 바꾸며 뒤엎고, 그렇게 슬럼프에 스스로 빠지고 있을 무렵 이 책을 만났다. 이 책은 매우 쉽고 재밌게 쓰여져 있다. 내 프로젝트에 이 책에서 제시한 방법들을 읽어 나가면서 실제로 적용했음에도 3일 정도의 시간 만에 다 읽어 버렸다.
다양한 방법론이 있지만 한 줄 요약을 하자면, '프로그램 코드에서 좋은 문장을 쓰는 법.'이다. 좋은 어휘를 선택하여 좋은 어순으로 문장을 만드는 법. 소설과 같은 글쓰기와 전혀 다르지 않다. 둘 다 사람이 읽는 것, 이라는 공통점 또한 갖고 있다.
참 생각해볼 것이 많은 문제다. 철학까지 거슬러 올라갈 수도 있을 것 같다. 단어와 문맥의 '의미'라는 것이 읽는 사람에게 어떻게 받아들여질까에 대한 철저한 고민.
'이름짓는 법'같은 것이 당장 생산성을 향상 시켜주지는 않을 것이다. 다만, 불과 3달 전에 짠 내 코드를 이해하기 위해 골머리를 썩고 있거나, 2년 전에 짠 코드는 거들 떠 보지 않는 자신을 보게 된다면(실제로 내가 그렇다..) 꼭 시간을 내서 읽어보면 좋을 것 같다.
피드 구독하기:
댓글 (Atom)

댓글 없음:
댓글 쓰기