디자인 패턴의 아름다움
왕정 지음 | 김진호 옮김 | 528쪽 | 제이펍 | 3만5000원

"과거 업무 경험 동안 많은 동료를 겪었는데, 특히 코드를 과도하게 설계하고 디자인 패턴을 남용하는 것을 좋아하지만 개발 경험이 적은 엔지니어들이 있었다. 그들은 코딩을 시작하기도 전에 코드 설계 작업에 오랜 시간을 할애한다. (…) 하지만 과도한 설계는 나중에 요구 사항이 변하지 않을 수도 있기 때문에, 이런 시도는 코드의 복잡성만 높일 뿐이다."

개발자는 연차가 쌓일수록 코드의 품질을 올리고 싶어한다. 하지만, 개발 마감에 쫓겨 이를 다시 들춰볼 여유가 없다. 급하게 만든 코드를 유지·보수하다 보면, 처음부터 다시 작성하고 싶어진다. 그러나 ‘빠르고 거칠고 치열한’ 연구 개발 분위기에서 많은 엔지니어가 시간도 고민도 없다 보니, 고품질 코드 작성 능력을 함양하기 쉽지 않다.

고품질의 코드를 작성하기 위해서는 코드 설계에 대한 이론 지식을 먼저 갖추는 것이 중요하다고 말하는 책이 나왔다.

새책 ‘디자인 패턴의 아름다움’은 총 8장으로 구성됐다. 1장 ‘개요’에서는 고품질 코드의 정의와, 과도한 설계를 피하는 법에 관해 설명한다. 2장 ‘객체지향 프로그래밍 패러다임’에서는 코드 설계 원칙과 디자인 패턴의 기초인 객체지향 프로그래밍을 소개한다. 3장 ‘설계 원칙’에서는 SOLID 원칙부터 LoD 원칙까지 중요한 코드 설계 원칙을 소개한다. 4장 ‘코딩 규칙’에서는 명명이나 주석, 코드 스타일 등을 포함한 코딩 규칙에 관해 설명한다. 5장 ‘리팩터링 기법’에서는 리팩터링의 네 가지 요소와 단위 테스트 등을 다루고, 예제와 함께 리팩터링 기술을 익힐 수 있다.

6장부터는 세 가지 분류로 나눠 22가지 디자인 패턴을 소개한다. 6장 ‘생성 디자인 패턴’에서는 싱글턴 패턴이나 프로토타입 패턴을 포함한 생성 디자인 패턴을 소개한다. 7장 ‘구조 디자인 패턴’에서는 프록시 패턴부터 플라이웨이트 패턴까지 구조 디자인 패턴을 설명한다. 마지막 8장 ‘행동 디자인 패턴’에서는 옵서버 패턴, 책임 연쇄 패턴, 커맨드 패턴 등 행동 디자인 패턴에 관해 얘기한다.

구글에서 번역 관련 시스템 개발에 참여하기도 했던 저자는 "다년간의 개발 경험을 집대성한 내용을 통해, 코드 품질을 추구하는 프로그래머들에게 도움을 주고자 이 책을 집필했다"고 전한다.

김경아 기자 kimka@chosunbiz.com