Media Log

[김창준]에 해당되는 글 1

  1. h 실용주의 프로그래머 -앤드류 헌트 2010.05.22
실용주의 프로그래머 - 9점
앤드류 헌트 외 지음, 김창준 외 옮김/인사이트
최근 2주 정도를 이 책을 읽으면서 잠이 들곤 했다.
이 책은 아주 재밌고 잘 쓰여진 책이다.

이 책의 역자는 애자일 프로그래밍 블로그를 운영하고 있으며 다독가로도 유명하다.
책에는 역주가 상당히 많은데, 대부분 관련 부분에 대해서 더 많은 정보를 얻을 수 있는 책들을 소개하는 내용이다. -그가 정말로 얼마나 많은 책들을 읽었는지 알 수 있다.


어떻게 커플링이 없이 레이어를 잘 설계하는가.
어떻게 모듈 혹은 함수간의 커플링을 줄일 수 있는가.
어떻게 중복된 코드를 제거할 수 있는가.

이것들은 내가 코딩하면서 항상 고민해 왔던 것들이고, 지금도 또한 고민하는 내용들이다.

책에서 저런 내용들을 잘 설명해주는데, 뭔가 깨달음을 얻으려고 하면 내용이 탁 끝나버리곤 해서 너무 아쉬웠다. 아마 아직 내 경험이 부족하기 때문일 것이다.
이 책의 저자들은 위의 내용들에 대한 해답을 이미 잘 알고 있는 것 같은데, 조금만 더 자세히 써주었더라면 별 5개를 줬을 것이다. 별 반개는 그래서 빼버렸다.

우연에 맡기는 프로그래밍이나 깨진 유리창의 법칙을 읽으면서는 아주 부끄러웠다.

깨진 유리창 하나를 방치해 두면, 그 지점을 중심으로 범죄가 확산되기 시작한다는 이론으로, 사소한 무질서를 방치하면 큰 문제로 이어질 가능성이 높다는 의미를 담고 있다.
-깨진 유리창 이론, 위키피디아에서 발췌

이는 일상 생활의 많은 곳에서 볼 수 있는데 프로그래밍 세계에서도 마찬가지이다.

어떤 문제를 해결하는데 있어서 해법을 두개 찾았다고 하자.
Plan A는 정석으로 해결하는 방법이고(조금 더 까다롭고 조금 더 오래걸린다. 하지만 완벽하다),
Plan B는 꼼수로 대충 메꾸는 방법이다.(금방 할 수는 있지만 부작용이 있다)

이제 선택의 순간에 놓여서, 기존 프로젝트의 코드들이 무결하고 아름답게 잘 짜여져 있었다면 Plan A를 선택하게 되지만, 반대의 경우라면 Plan B를 선택하게 된다는 것이다.(똑같은 사람일지라도. 그리고 시간이 있음에도 불구하고. 심지어는 어떤 부작용이 있을지 알고 있음에도 불구하고!)

우리는 그동안 얼마나 많은 플랜 B를 선택해왔던가.

좀 더 훌륭한 프로그래머가 되고 싶다면 이 책에서 가르쳐주는 실용주의 프로그래머의 많은 기법과 정신들을 마음 속 깊이 각인하고 습관화 해야만 할 것이다.
신고

submit