2013년 2월 7일 목요일
0083 리팩토링
나는 좋은 코드를 만드는 데에 관심이 깊다. 예전에 우연히 공부하게된 '디자인 패턴'에서 좋은 코드의 간결함, 미적인 아름다움에 완전히 매료되었기 때문이다. 지난 번의 '읽기 좋은 코드가..'의 다음으로 이 책을 읽은 것도, 그런 관심이 반영되었다.
이 책은 꽤나 유명한 고전으로 평가받는 책이다. 정확히는 모르지만, 한국어판이 절판이 되었던 찰나, 이번에 새로 번역해서 새로 발매했다고 한다. 이번 기회에 덥썩 구입해버렸다.
이 책을 읽는데에 꽤나 오랜 시간이 걸렸다. 디자인 패턴을 공부했던 것이 벌써 몇 년 전이고, 꼼꼼히 공부하고자 했던 욕심이 무엇보다 가장 컸던 것 같다. '읽기 좋은 코드..'가 리팩토링 입문서라면, 이 책은 리팩토링 심화과정 정도랄까. 엄청나게 방대한 패턴이 소개되어있었고, 확실히 디자인 패턴에 관련된 부분도 많이 나왔다. 특히 중간에 나온,
'디자인 패턴은 목표 지향점이고,
리팩토링은 다른 상태에서 그 지향점까지 도달하는 방법이다.'라는 말이 와 닿는다.
다 읽고 난 지금은, 전체적으로 좋은 코드가 어떤 형태가 되어야 할지 가물가물하게 나마 감이 생겼다. 하지만 실제로 접목시켜보려면 많이 다를 것이다. 이 책에서도 언급이 되어 있지만, '리팩토링을 얼마나 할지, 중단해야할 때는 언제인지.'이런 것은 정말 찾기 어려운 부분이기 때문이다. 정말 경험에서 우러나오는, '리팩토링을 자연스럽게 할 수 있는 경지'라야만 가능할 것 같다.
아쉬운 점은, 저자가 이 책을 학술적인 성격이 강한 단행본으로 만들고자 했던 노력이 보였다는 점이다. 모든 단계를 꼼꼼하게 적어 놓는, 학술적인 '정의'를 만들고자 노력한 흔적이 보인다. 이 책이 '리팩토링의 카탈로그'가 되고자 했던 마음 때문일까? 어쨋든 그러한 노력의 흔적은 책을 읽는 사람으로 하여금 지치게 만들었다.
가령, '한 줄 지우고 테스트해보자.' , '이걸 이렇게 옮기고, 이건 아직 남겨 놓도록 하자.' '다시 테스트해보자.'
물론 테스트의 중요성, 작업 과정의 중요성을 강조하고자 한 것도 꽤나 중요하다고 할 수 있겠지만, 책을 읽는 사람 입장에서는 너무 과도한 정보 때문에 무엇이 중요한 지 추리기 어령웠고, 집중력이 흐트러지기 일쑤였다.
너무 세세한 설명은 독이 될 수도 있다는 교훈을 얻었다.
이 책의 내용 자체가 떨어진다는 것은 아니다. 리팩토링의 바이블과 같은 책이라는 것은 분명하다. 좋은 코드를 만들고 싶다면 꼭 읽어보기를 추천한다.
피드 구독하기:
댓글 (Atom)

댓글 없음:
댓글 쓰기