느끼는게 없다면 문제다.
6장부터 12장까지, 66개의 리팩터링 스킬을 소개하는데 그 모습이 경이롭다기 보단 기괴하다고 느껴졌다. 마치 루피가 '고무고무~ 총난타!' 하는 것처럼 '크윽... <긴 함수>인가? 그렇다면ㅡ <함수 추출하기>!!' 라고 해야할 것 같은 느낌. (3장을 읽으면 내가 무슨 말 하는지 정확히 이해할 것이다)
이 책을 읽는 데 가장 방해가 되었던 생각은 '그래서 이걸 어떻게 적용하지?'라는 생각이었다. 읽는다고 내 스킬이 되는 건 아닐 뿐더러, 설령 스킬이 된다 하더라도 적재적소에 그 스킬을 떠올릴 수 있을까? 그런 걱정이 책을 읽는 데 가장 큰 걸림돌이었다고 생각한다. 회사의 모 선배님께서는 '그 책 프로그래머들의 자기계발서 같은거 아니예요? 하하'라고 농담을 하셨는데 완전 농담은 아닌 것이다. 심지어 나는 리팩터링과 매우 유사한 내용을 다루는 <읽기 좋은 코드가 좋은 코드다>를 이미 몇 년 전에 읽고 '와 정말 좋은 내용인데 다시 생각해보니 하나도 기억이 안나네'라고 생각했기 때문에 더욱 그런 걱정이 앞섰다. '도움이 안될 것'이라는 생각.
리팩터링과 다른 거라곤 매우 올드한 삽화가 들어갔다는 점 정도?
또 하나의 문제점은, 위 사진 속 책과도 같은 문제점인데, 많은 부분이 '꽤나 당연하게 보인다'는 점이다. 아니 근데 이건 좀 주관적인 요소려나.
아무튼 그럼에도 불구하고 이 책은 (의외로) 여러 부분에서 도움을 많이 주었다.
그리고 읽으면서 매우 마음이 심란했던 요소들도 있다.
7.5 클래스 추출하기
, 7.6 클래스 인라인하기
) 왜 그런 건지는 알겠는데도 보고 있자면 정신이 대략 멍해진다.마지막으로, 어느 자기개발서나 그렇듯 대학생 때, 주니어 때, 시니어 때, - 언제 읽냐에 따라 다른 느낌으로 다가올 것이 뻔하지만, 꽤 오랫동안 다시 들여다보지는 않을 듯 하다.
주관적으로 몇 개만 꼽아보자면, (그리고 내 나름의 해석을 붙여보자면,)
별로 없다.
정독... 이라는 단어를 사람마다 조금씩 다르게 쓰겠지만, 일반적으로 이 책은 별로 '정독'하기에 적절한 책은 아닌 듯 하다. 다음과 같은 방식으로 독서하길 추천한다.
제목
과 맨 앞에 있는 샘플 코드 (before & after)
, 그리고 배경
설명까지만 읽는다. 더 호기심이 생길 때만 절차
를 읽는다. 예시
는 읽고 싶을 때만 읽는다. 다만 예시
중간중간 있는 필자 멘트는 꽤 유익하다고 생각한다.
(혹시 읽어보셨다면) GoF 디자인 패턴 후기도 들려주세요