[도서리뷰] 제이펍 '좋은 코드, 나쁜 코드 (Good Code, Bad Code)'

jeipub-goodcode-badcode

이 포스트는 제이펍에서 출간한 '좋은 코드, 나쁜 코드 (Good Code, Bad Code)'를 읽고 작성한 서평입니다.

INTRO

분석/개발을 혼자하던 시절에는 의식의 흐름대로 코드를 작성하고, 원하는 결과가 출력되면 만족해하며 코드 개발을 즐기던 때가 있었습니다. 대학원에서 협업을 시작하였고, 내 코드를 남에게 공유하거나 설명해야 하는 상황이 생기면서 코드 작성 방법에 대한 고민이 시작되었는데, 전공이 정보통계학이라 프로그래밍 스킬이 부족해 객체 지향, 클린 코드, 코딩 스타일 가이드 등 다양한 자료를 찾아가며 공부했었습니다. (이때부터 코드 작성이 마냥 즐겁지는 않았습니다.. ㅎㅎ)

해당 도서에서는 그 때 봤으면 좋았을 것 같은 내용, 지금 새롭게 깨닫는 내용들이 잘 정리되어 있습니다. 현직 구글 엔지니어의 지식, 경험을 단 한 권의 책으로 배울 수 있는 좋은 기회를 함께 경험해 보셨으면 좋겠습니다.

jeipub-goodcode-badcode

jeipub-goodcode-badcode

책 소개

구글 엔지니어가 말하는 좋은 코드 작성법

좋은 코드를 작성하기 위한 이론과 실전을 소개한다. 단순히 해야 할 일과 하지 말아야 할 일을 나열하기보다, 여섯 가지 원칙을 바탕으로 각 개념과 기술의 장단점, 그리고 이면의 핵심 논리를 설명한다. 책에서 설명하는 즉시 사용 가능한 수십 가지의 기술을 익힌다면, 숙련된 프로그래머의 사고법과 코드 작성의 노하우를 이해할 수 있다. 효과적인 테스트 방법도 설명하므로 더 나은 코드를 작성하는 데 도움을 줄 것이다.

대상 독자

  • 소프트웨어 개발 경험이 있는 주니어 개발자
  • 초급 개발자들을 가이드해야 하는 시니어 개발자

주요 내용

  • 문장처럼 읽히는 함수 작성법
  • 버그 없는 코드 작성법
  • 나쁜 코드를 알아내는 방법
  • 자신과 팀을 위한 시간 절약법

이 책의 구성

해당 도서는 크게 'Part1 이론', 'Part2 실전', 'Part3 실전테스트'로 구분됩니다.

Part I. 이론

  1. 코드 품질
  2. 추상화 계층
  3. 다른 개발자와 코드 계약
  4. 오류

Part II. 실전

  1. 가독성 높은 코드를 작성하라
  2. 예측 가능한 코드를 작성하라
  3. 코드를 오용하기 어렵게 만들라
  4. 코드를 모듈화하라
  5. 코드를 재사용하고 일반화할 수 있도록 하라

Part III. 단위 테스트

  1. 단위 테스트의 원칙
  2. 단위 테스트의 실제

jeipub-goodcode-badcode
[출처] 좋은코드, 나쁜코드

책을 읽고

▶ 주관적인 평점 : 4.5점 / 5.0점


해당 도서는 구글의 코딩 철학과 문화를 살짝 엿볼 수 있는 좋은 기회였습니다. 이론, 실전, 테스트로 이어지는 내용의 흐름은 독자들이 지식을 순차적으로 쌓아갈 수 있도록 하면서도 각 챕터가 독립적으로 의미를 가지도록 구성되어 있으며, 각 챕터별로 글과 그림이 적절하게 들어있어 원활하게 내용을 이해할 수 있습니다.

다만, 이 책에서 활용되는 언어가 C#, 타입스크립트, 자바스크립트, C++, 스위프트, 코틀린, 다트2 등 정적 타입의 객체 지향 프로그래밍 언어이다 보니 R과 Python을 주로 쓰는 저에게는 익숙하지 않은 언어들로 약간의 어색함은 있었습니다.

개인적으로는 근무하고 있는 팀에 아직 정해진 코딩 정책이 없어 한 챕터를 하나의 주제로 팀원들과 토론해가면서 정책을 잡아가는데 레퍼런스하기 좋은 책이라고 판단되었습니다.

혼자 코딩을 해오다가 협업을 시작하시려는 분이라면 해당 도서를 먼저 읽어보시는 것을 추천드리며, 현재 관련 업무를 하고 계신 분도 현직 구글러의 경험과 지식을 해당 도서로 경험해 보시는 것을 추천드립니다.

jeipub-goodcode-badcode
[출처] 좋은코드, 나쁜코드

jeipub-goodcode-badcode
[출처] 좋은코드, 나쁜코드

관련 링크

[1] 제이펍 도서 소개 - 좋은 코드, 나쁜 코드