Skip to main content

[Book-review] 코드 작성 가이드

· 7 min read
Haril Song
Owner, Software Engineer at 42dot

이시가와 무네토시 저자의 코드 작성 가이드 책 표지

info

본 리뷰는 출판사로부터 도서를 제공받아 작성되었으며, 이는 리뷰의 내용이나 평가에 영향을 미치지 않았음을 알려드립니다.

Overview

리뷰하기 쉬운 코드란 무엇인가?

읽기 쉽고 코드 리뷰하기 좋은 코드 작성 가이드 는 현직 LINE 개발자가 자신의 경험을 바탕으로 작성한 책이에요. 이 책은 코드의 가독성을 높이기 위한 다양한 방법과 원칙을 상세하게 다루고 있어요.

개인적으로 정말 잘 다듬어진 코드 컨벤션 입문 서적이라는 생각이 들었어요. 몇 가지 이유가 있는데 지금부터 소개드려볼게요.

Pros

실용적인 예제

책에 포함된 예제들은 상세하고 현실적인 상황을 반영하고 있어요. 비록 일부 예제가 장황하게 느껴질 수 있지만, 시간을 들여 살펴보면 디테일한 부분까지 이해할 수 있어 요.

적절한 가이드라인

'클린 코드'의 저자는 후반부에 다소 극단적인 주장을 펼치기도 했지만, 이 책은 처음부터 끝까지 현실적이고 공감할 수 있는 수준의 가이드를 제공해요.

언어에 구애받지 않는 내용

비록 책이 Java 와 Kotlin 을 중심으로 설명하고 있지만, 다른 언어를 사용하는 개발자들도 충분히 이해하고 적용할 수 있는 내용들이에요.

다양한 접근법 제시

특정 문제를 해결할 때 하나의 방법만을 제시하는 것이 아니라, 여러 가지 후보군을 설명하여 독자에게 다양한 선택지를 제공하는 점이 친절하게 느껴져요.

Cons

일부 예제의 직관성 부족

예제 중에는 직관적이지 않은 경우도 있어요. 특히 안드로이드 코드를 다루는 부분에서는 모바일 애플리케이션의 구조에 대한 사전 지식이 필요할 수 있어요.

예제가 직관적이지 않은 부분은 안티패턴을 설명하다보면 자연스러운 것 같기도 한데, 애초에 직관적인 예제였다면 안티패턴으로 소개될 내용은 아니였겠죠...? 그렇지만 '조금 더 와닿는 예제를 준비할 수 있었을 것 같은데~' 하는 아쉬움은 남네요.

So, Who should read this book

이 책은 코드의 가독성을 높이고자 하는 모든 개발자에게 유용한 지침서에요. 특히 주니어 개발자들에게 추천하고 싶어요. 코드의 네이밍, 주석 작성법, 함수 분리, 의존 관계 관리 등 실무에서 바로 적용할 수 있는 내용들이 가득해요. 또한, 코드 리뷰에 대한 가이드도 포함되어 있어 팀원들과의 협업 시 큰 도움이 될 거예요.

그렇다고 꼭 주니어 레벨에서만 유용한 책은 아니에요.

제가 주니어라면, 수시로 이 책을 펼쳐보며 '깨끗한 코드란 무엇일까?'에 대해 고민할 것 같아요. 개발을 시작한 지 얼마 되지 않아 막막하고 두려운 순간들이 찾아올 때, 이 책의 한 페이지를 읽으며 작은 길잡이를 찾을 수 있을 거예요. 이 책은 '좋은 코드'를 단순한 이상이 아닌, 구체적이고 실천 가능한 모습으로 그려주거든요.

제가 중니어라면, 팀원들과 함께 이 책을 펼쳐 들고 코드 리뷰를 할 것 같아요. 같은 문제를 두고 서로 다른 해답을 제시하는 다양한 접근법을 보며, "이 방법은 왜 좋을까?", "다른 방식으로 풀 수는 없을까?"를 이야기할 것 같아요. 그렇게 논의와 고민을 거듭하며 함께 성장하는 즐거움을 경험할 수 있을거에요.

제가 시니어라면(저는 아직 시니어가 아니지만 😂), 팀원들에게 이 책의 몇몇 부분을 특히 강조할 것 같아요. "읽기 쉬운 코드가 진짜 좋은 코드다"라는 메시지와 함께, 책이 제시하는 가이드라인을 통해 팀의 코드가 조금 더 나아질 수 있다는 믿음을 심어줄 것 같아요. 개인의 역량을 뛰어넘어 팀 전체가 깨끗하고 효율적인 코드를 작성하도록 돕는 일, 그것이 시니어의 역할이니까요 (끄덕).

동의를 표현하는 고개 끄덕임 GIF

Conclusion

이렇게 이 책은 경력에 따라 다른 방식으로 다가올 거예요.

처음 코드를 배우는 주니어에게는 친절한 길잡이가, 팀과 함께 성장하려는 중니어에게는 토론의 재료가, 팀을 이끄는 시니어에게는 나침반이 되어줄 거예요. 결국, 이 책이 전하고자 하는 메시지는 단순하지만 강력합니다.

"깨끗하고 읽기 쉬운 코드가 좋은 코드다."