소프트웨어 개발자라면 항상 클린 코드를 작성하고 싶어 하며, 미래의 나 또는 다른 엔지니어를 위해서 그렇게 해야 한다고 생각한다. 이런 이유에서 소프트웨어 개발자를 위한 필독서로는 Clean Code, Refactoring, Design Patterns와 같은 책들이 항상 언급되고 많은 추천을 얻는 이유라고 본다. 이미 클린 코드를 위한 책들은 시중에 많이 나와 있지만, 실무로 통하는 클린 코드는 이론적인 내용을 너무 깊게 들어가는 대신, 작은 단위로 우리가 흔히 마주할 수 있는 문제 제시 => 해결 방안 => 해결 방안에 대한 설명의 구조로 208가지 케이스 스터디에 대해서 설명하고 있다.

한 가지 특이한 점은 여러 케이스에 대해서 단일 프로그래밍 언어가 아닌, 여러 가지 프로그래밍 언어를 활용해서 설명하는데 이는 장점이자 단점이 될 수 있을 것 같다. 다만 프로그래밍 개발자로 일하는 경우 적어도 2가지 이상의 언어를 활용하는 경우가 많으므로 다른 언어로 작성된 코드도 읽어보는 연습을 할 수 있다는 점은 긍정적으로 생각되며, 서두에 언급한 것처럼 생성 AI를 활용하여 내가 주로 쓰는 프로그래밍 언어로 예제를 직접 작성해 보면 더 얻어가는 점이 많을 것으로 생각한다.

책의 내용은 첫 1~2장에서 정의하는 내용들 (MAPPER 등)을 기본적으로 깔고 가기 때문에 해당 부분을 잘 이해하고 넘어가야 뒤에서 혼란의 여지가 없을 것으로 보이며, 케이스 스터디가 아닌 이런 정의와 같은 부분은 조금 더 친절한 설명이 있었으면 어땠을까 하는 아쉬움이 있다. 전반적인 난이도는 아주 일반적이고 당연한 얘기부터 시작해서 섣부른 최적화 (16장), 결합도 (17장), 계층 (19장) 같은 내용은 어느 정도 규모 있는 소프트웨어를 개발한 경험이 있어야 얻어가는 내용이 많을 것으로 보인다.

사람마다 공부하는 스타일이 다르므로, 이론적인 베이스를 깔고 좋은 코드를 작성하고자 하는 사람보다는 코드를 보면서 반대로 이론적인 내용을 이해해 가는 스타일의 학습자에게 더 적합할 것으로 보인다. 개인적으로는 아주 주니어 엔지니어보다는 어느 정도 소프트웨어 개발이 익숙해진 경력 엔지니어들이 본다면 얻어가는 내용이 더 많을 것 같다.

한빛미디어의 도서 지원을 받아 작성한 리뷰입니다