이 책은 경험이 쌓이면서 알게되는 진리들 (성급한 최적화, 객체지향 설계가 필요한 이유, 중복 제거가 필요한 이유 등등) 을 쉽게 설명해주고 있습니다.
전공이 컴퓨터 공학이었다보니 선후배나 동기들이 프로그래밍을 어떻게 하면 쉽게 배울 수 있느냐고 물어봅니다.
그런 부분에서는 이 책도 해답이 되긴 힘들다고 생각합니다. 이 책은 프로그래밍의 방법을 알려주는 책은 아니니까요.
제 생각에 이 책은 프로그래밍이란 과정은 알아가는데, 좀 더 유지보수하기 좋고, 이해하기 쉬운 코드를 목표로 삼고 있는 프로그래머들이 읽으면 적당한 책이라고 생각합니다.
저도 이 책의 나고수씨와 같이 패턴이름들을 외우고 있지 않습니다.
기껏 외우는거라 봤자 팩토리, 싱글턴 정도였죠. 하지만 사용해왔던 클래스 형식이나 구조들이 거의다 패턴으로 있더군요.
그런걸 보면 패턴은 의사소통의 수단중에 하나고, 코드 구조를 정리하는 수단이라고 볼 수 있죠.
사실 프로그램을 잘 모르는 상태에서 흔히 듣는 얘기가 회사들어가면 금방 알게 된다 하지만 그렇지 않은 경우도 많습니다.
결국은 어떤 것이 왜 좋은지, 왜 나쁜지에 대한 이해가 이뤄져야만 하죠. 주로 그것이 경험을 통해 이뤄지는 것이지만, 그런 상황을 알려주는 이 책도 한가지 방법이 될 수 있다고 봅니다.
저는 예전 경험들을 되돌아보는 느낌으로 읽었지만, 이제 처음 시작하시는 분들에게는 대리 경험으로써 큰 도움이 될꺼라 생각되는 좋은 책이었습니다.