"한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
근래에 새로 발간되는 클린 코드 계열 책이 많다. 지난 5월에 서평을 올렸던 '읽기 쉬운 코드', 요즘에 나온 'Tiny First?' 등 많이 보인다. 요즘 잘 먹히는 소재인지 유행인지 뭔지 모르겠지만 일단 클린 코드 계열의 책을 읽다보면 '아 유지보수 가능하게 코드를 써야지' 같은 생각이 다시 한 번 상기되는 느낌이다.
책의 첫 인상
초반 챕터 1, 2는 정말 읽기 힘들다. '공리'가 어쩌고 '패러다임'이 어쩌고 정말 어려운 말을 사용한다. 저자는 정말 책을 많이 읽고 철학적인 사람이라는 생각을 했다. 멋있었고 이런 용어들이 순간순간 읽는데 방지턱이 됐지만 이해가 되면 '생각보다 나쁘지 않은 비유 일지도?'라는 생각도 들었다.
성능 개선하는 방법으로 팔레토의 법칙 (2:8 법칙)을 이야기할 때에도 정말 멋진 말이다 생각했다.
중요한 부분 20%를 개선하면 성능을 80% 향상 시킬 수 있고 이러한 개선이 '증거 기반'으로 이뤄져야 섣부른 최적화를 막을 수 있다고 하는 점도 인상적이었다.
MAPPER → Model : Abstract Partial and Programmable Explanining Reality
이 책에서 중요하게 여기는 개념 MAPPER. 정말 서양 사람들은 이런 앞글자 따서 뭔가 만들기 놀이를 정말 좋아한다. SOLID도 그렇고...
정말 좋았던 점
단어의 정의를 초반에 잡고 시작한다. 코드 스멜이 뭔지, 리팩토링이 뭔지, 클린 코드가 뭔지 등을 일단 알려주고 시작한다.
마틴 파울러의 리팩토링에서의 정의는 어떠하고, 이후에 어떻게 발전되고 있고 IDE도 이를 위한 기능을 추가하고 있다는 등의 이야기도 개인적으로 한 번 쭉 설명해주니 좋았다.
이 책은 영어로 Clean Code Cookbook 이다. 그래서 챕터별로 각 파트를 레시피라고 표현한다. 각각의 레시피를 상황에 맞게 버무려볼 수 있다는 점도 정말 좋은 점이라고 생각한다. 정말 많은 레시피로 구성되어 있는데, 묘하게 MAPPER나 모델의 객체와 현실의 엔티티는 1:1 관계 같은 원칙 내에서 이뤄진다.
읽기 힘들었던 점
특유의 번역체가 종종 거슬리는 구간도 있다.
2.0에서 MAPPER에 대해서 알려주고 각자의 철자의 의미를 2.1 ~ 2.6을 통해 알려준다. 그런데 해당 파트의 이름은 '2.1 왜 추상적인가요?' 라고 써있다보니 갑자기 무슨 말인가 싶어서 앞을 보면 Abstract를 얘기했겠거니 유추하게 된다. 차라리 영어 단어도 그대로 같이 있었으면 바로 알아들었을 것 같은 느낌도 있다.
마무리
과거보다 더 CI/CD는 적극적으로 사용되고 있고 코드 규모도 커지고 있다고 한다. 코파일럿, 챗지피티같은 코드 생성 도구들도 많이 생기면서 생산성이 엄청 올라간다. 그런 의미에서 클린 코드, 리팩토링 같은 책이 새로 발간되는 이유도 시대에 맞춰서 '지금'에 맞는 내용을 알려주기 위한 것이 아닐까 생각이 든다.
'Book' 카테고리의 다른 글
책 리뷰 '오픈 : 비즈니스 패권의 열쇠' (9) | 2024.10.26 |
---|---|
책 리뷰 '코드 밖 커뮤니케이션' (4) | 2024.09.29 |
책 리뷰 '실무로 통하는 타입스크립트' (1) | 2024.07.26 |
책 리뷰 '러닝 깃허브 액션' (0) | 2024.06.23 |
책 리뷰 '더 나은 프로그래머 되는 법' (0) | 2024.05.26 |