Refactoring;
Improving the Design of Existing Code
클린코드의 바이블이라는 리팩토링이 드디어 도착했다. 최근 즐겨 보고있는 유투브 채널 드림코딩 앨리에서 추천했던 도서여서 언젠가 꼭 읽어봐야지 하고 북마크만 해뒀었는데 지난 회식때 동료가 마틴 파울러는 천재 인 것 같다는 얘기를 하면서 꼭 보라고 추천하기에 냉큼 구매했다. 해외도서여서 배송에만 2주가 걸렸는데 조금만 더 늦었으면 의지가 사그러들 뻔 했다.
번역본을 샀으면 당일 배송도 됐겠지만 마틴 파울러의 의도를 명확히 이해해보고자 원서로 구매했는데, 원서 가격은 71,760 원으로 번역본 가격 31,500 원에 비해 두 배 정도 비싸다.
책장에 꽂았을때의 멋짐(?)이 좋아서 굳이 원서를 선택한것도 없진않지만, 리팩토링 규칙들을 억지로 한글로 번역하면 억지스러운 면이 없지않을 것 같아서 원서가 좀 더 좋을 것 같았다.
- Extract Function
- Inline Variable
- Declaration
- Split Loop
- Replace Conditional with Polymorphism
위와 같은 리팩토링 원칙들을 번역하면 뭐라고 썼을지 ..
아직 Chapter 1 까지밖에 진도를 못 나갔지만 이 책이 왜 프로그래머들한테 필독 도서인지 알 수 있었다. 챕터 1 에서는 간단한 프로그램에 리팩토링 규칙들을 한 단계씩 적용해나가면서 독자들에게 친절하게 설명해주는데, 각 단계들만 보면 이게 뭐하는 건가 싶지만 결국에 나이스한 코드로 바뀌게 되고 정말 마틴 파울러는 천재가 맞구나 하는 생각이 들게 한다. 훈련하는데에 시간이 좀 들긴 하겠지만 잘 익혀놓으면 협업하는데 크게 도움이 될 것 같다.
그리고 리팩토링 적용 단계마다 로직이 망가지지 않도록 코드 변경이 있을때마다 테스트 해보는 것을 계속 강조하는데, 협업할 때에 테스트 가능한 코드를 작성하는 것이 얼마나 중요한지 느낄 수 있었고 테스팅 툴을 제대로 활용해야겠다고 다짐하게 됐다.