패턴을 활용한 리팩터링

회사에서 선물로 받은 책이다.

패턴을 활용한 리팩터링

조슈아 케리에브스키의 『패턴을 활용한 리팩터링』은 마틴 파울러의 『리팩터링』이 멈춘 지점에서 시작한다. 파울러가 코드 냄새를 제거하는 기법에 집중했다면, 이 책은 그 결과물이 디자인 패턴과 어떻게 연결되는지를 보여준다.

리팩터링은 단순히 코드를 예쁘게 만드는 작업이 아니다. 지금 코드가 어떤 구조적 문제를 품고 있는지 인식하고, 그걸 더 나은 설계로 옮겨가는 과정이다. 이 책은 그 “더 나은 설계”의 목적지를 패턴으로 제시한다.

인상적인 건 방향이 양방향이라는 점이다. 패턴을 향해 리팩터링하기도 하지만, 반대로 과도하게 적용된 패턴을 걷어내는 방향도 다룬다. 패턴이 만능이 아니라는 걸 저자 스스로 강조하는 셈이다.

실제로 현업에서 패턴을 쓰다 보면, 처음엔 명확하게 보이던 구조가 시간이 지나면서 짐이 되는 경우가 종종 있다. 필요 이상의 추상화가 오히려 코드를 읽기 어렵게 만든다. 이 책은 그 균형감각을 다시 잡게 해준다.

선물로 받은 책이 이 책이라니, 나름 의미 있다고 생각한다. 리팩터링을 업무에서 자연스럽게 하고 있다는 걸 인정받은 느낌도 들고, 동시에 “아직 더 배울 것이 있다”는 메시지로도 읽혔다.