본문 바로가기

추천 검색어

실시간 인기 검색어

코드 작성 가이드

현직 LINE 개발자가 알려주는 읽기 쉽고 코드 리뷰하기 좋은
이시가와 무네토시 저자(글) · 정기욱 번역
길벗 · 2024년 04월 18일
10.0
10점 중 10점
(19개의 리뷰)
도움돼요 (44%의 구매자)
  • 코드 작성 가이드 대표 이미지
    코드 작성 가이드 대표 이미지
  • 코드 작성 가이드 부가 이미지1
    코드 작성 가이드 부가 이미지1
  • 코드 작성 가이드 부가 이미지2
    코드 작성 가이드 부가 이미지2
  • A4
    사이즈 비교
    210x297
    코드 작성 가이드 사이즈 비교 153x226
    단위 : mm
01 / 04
무료배송 소득공제
10% 21,600 24,000
적립/혜택
1,200P

기본적립

5% 적립 1,200P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,200P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

코드 작성 가이드 상세 이미지

책 소개

이 책이 속한 분야

읽기 쉽고 이해하기 좋은 코드를 작성하려면 어떻게 해야 할까?
현직 LINE 개발자가 알려주는 가독성 높은 코드 작성법!
네이밍부터 코드 리뷰하는 방법까지!
개발자라면 ‘내가 왜 이런 코드를 짠 걸까'라며 자책한 경험이 있을 것이다. 분명 복잡한 코드가 아닌데 이해하기 어렵고 조금만 변경해도 쉽게 망가지거나, 코드를 작성한 당시에는 완벽하다고 생각했지만, 몇 달 후 다시 봤는데 전혀 이해할 수 없을 때 당황스럽기도 하다. 저자 또한 비슷한 경험을 여러 번 겪었다. 그래서 읽기 쉬운 코드가 무엇인지, 읽기 쉬운 코드를 작성하기 위해서 어떻게 해야 하는지 등을 고민했고, 자신의 경험을 바탕으로 읽기 쉽고 이해하기 좋은 코드를 작성할 수 있는 원칙을 이 책에 담았다. 책에서는 읽기 쉬운 코드가 필요한 이유와 프로그래밍 원칙을 통해 코드의 가독성이 개발 생산성에 미치는 영향을 알아보는 것에서 시작한다. 이어서 실무에 바로 적용할 수 있도록 네이밍하는 법, 주석 작성법, 클래스 내부 구조인 상태와 함수, 클래스 간의 구조인 의존 관계, 가독성의 관점에서 코드 리뷰하는 방법까지 담았다. 네이밍부터 서서히 개선해 나간다면 읽기 쉬운 코드를 작성하는 데 익숙해지고, 다음에는 어떻게 적용할 수 있는지 스스로 생각하면서 그 힘을 기를 수 있다. 가독성 높은 코드를 만드는 것에는 정답이 없지만, 상황에 맞는 최적의 방법을 생각할 수 있도록 이 책이 안내해 줄 것이다.

작가정보

저자(글) 이시가와 무네토시

주식회사 LINE의 LINE Platform Development 2센터, Mobile Experience 개발실의 Developer Experience 개발팀 소속이다. 시니어 소프트웨어 엔지니어로, LINE의 안드로이드 버전을 개발하고 있다. 또한, LINE의 소스 코드 가독성 향상을 위해 리팩터링과 코드 리뷰를 자체적으로 수행하며, 가독성과 관련된 개발 문화와 인프라를 구축하고 있다. 교육과 채용 프로세스 등을 개선하기도 한다.

번역 정기욱

이 책의 저자와 같은 팀 동료이며 LINE의 iOS 버전을 개발하고 있다. 대학 진학 시 유아교육과를 가고 싶었으나 현실을 직시하고 컴퓨터 공학을 선택하였고, 현재는 인생에서 가장 탁월한 선택이었음을 실감하며 살고 있다. 오랫동안 iOS 개발과 관련된 일을 하고 있다는 사실에 자부심을 가지고 있다. 주된 업무인 iOS 빌드 최적화 외에도 분산 빌드, 지속적 통합, 자동화 도구, 수명주기 관리 등 동료 개발자들에게 실질적인 도움을 주는 일에 적극적이다.

목차

  • 1장 가독성 높은 코드를 작성하는 법
    1.1 생산성 개선
    __1.1.1 개발 규모와 생산성의 관계
    __1.1.2 가독성을 높이기 위한 환경과 평가 체계
    1.2 가독성 높은 코드를 작성하기 위한 요건
    __1.2.1 가독성과 관련된 지표
    __1.2.2 가독성을 높이기 위해 주의할 점
    1.3 대표적인 프로그래밍 원칙
    __1.3.1 보이스카우트 원칙
    __1.3.2 YAGNI
    __1.3.3 KISS
    __1.3.4 단일 책임의 원칙
    __1.3.5 섣부른 최적화는 만악의 근원
    1.4 정리

    2장 네이밍
    2.1 네이밍에 사용하는 영문법
    __2.1.1 명사 또는 명사구
    __2.1.2 명령문
    __2.1.3 그 외의 영문법
    __2.1.4 문법을 무시하고 네이밍하는 이유
    2.2 이름에서 알 수 있는 내용
    __2.2.1 예: 인수 이름
    __2.2.2 예: 함수 이름
    __2.2.3 예외: 추상 메서드
    2.3 단어 선택
    __2.3.1 예: 모호하지 않은 단어 선택하기
    __2.3.2 혼란스러운 약어 피하기
    __2.3.3 단위나 실체를 나타내는 단어 추가하기
    __2.3.4 긍정적인 단어 사용하기
    2.4 언어, 플랫폼, 코딩 규약
    2.5 정리

    3장 주석
    3.1 주석의 종류와 목적
    3.2 문서화 주석
    __3.2.1 안티패턴
    __3.2.2 문서화 주석의 구성
    __3.2.3 문서화 주석의 요약
    __3.2.4 문서화 주석의 상세
    3.3 비형식 주석
    __3.3.1 규모가 큰 코드 분할하기
    __3.3.2 직관적이지 않은 코드 설명하기
    3.4 정리

    4장 상태
    4.1 가변 값이 더 적합한 경우
    4.2 변수 간의 관계, 직교
    __4.2.1 직교의 정의
    __4.2.2 방법: 함수로 대체하기
    __4.2.3 방법: 합 타입으로 대체하기
    4.3 상태 전이의 설계
    __4.3.1 불변성
    __4.3.2 멱등성
    __4.3.3 비순환
    4.4 정리

    5장 함수
    5.1 함수의 책임
    __5.1.1 함수 분할의 기본 방침
    __5.1.2 명령과 쿼리의 분리
    5.2 함수의 흐름
    __5.2.1 정의 기반 프로그래밍
    __5.2.2 조기 반환
    __5.2.3 조작 대상에 따른 분할
    5.3 정리

    6장 의존 관계
    6.1 의존 관계의 예
    6.2 의존의 강도: 결합도
    __6.2.1 내용 결합
    __6.2.2 공통 결합과 외부 결합
    __6.2.3 제어 결합
    __6.2.4 스탬프 결합과 데이터 결합
    __6.2.5 메시지 결합
    6.3 의존 방향
    __6.3.1 호출자 → 호출 대상
    __6.3.2 구체적 → 추상적
    __6.3.3 복잡/가변 → 단순/불변
    6.4 의존의 중복
    __6.4.1 연결된 의존 관계
    __6.4.2 의존 대상 집합의 중복
    6.5 의존의 명시성
    __6.5.1 안티패턴 1: 과도한 추상화
    __6.5.2 안티패턴 2: 암묵적인 값의 범위
    6.6 정리

    7장 코드 리뷰
    7.1 리뷰이의 주의 사항 1: 리뷰하기 쉬운 풀 리퀘스트 만들기
    __7.1.1 풀 리퀘스트의 목적 명시하기
    __7.1.2 풀 리퀘스트 분할하기
    __7.1.3 커밋 구조화하기
    7.2 리뷰이의 주의 사항 2: 리뷰 코멘트 적용하기
    __7.2.1 잘못된 의견이나 질문이 나온 원인 찾기
    __7.2.2 제안 의도 파악하기
    __7.2.3 다른 부분에 적용하기
    7.3 리뷰어의 주의 사항 1: 리뷰어의 원칙
    __7.3.1 요청받은 리뷰를 방치하지 않기
    __7.3.2 문제 있는 풀 리퀘스트 거부하기
    __7.3.3 기한을 지나치게 의식하지 않기
    __7.3.4 ‘제안’이 아닌 ‘의견’ 제시하기
    7.4 리뷰어의 주의 사항 2: 코멘트 내용
    __7.4.1 사례 분석
    7.5 정리

    부록 이 책을 읽는 데 필요한 코틀린 문법

추천사

  • 이 책에서 ‘바보스러울 정도로 단순하게 만들어라’라는 의미를 담고 있는 KISS 원칙이 나옵니다. 이 부분이 코드 작성을 위한 모든 것을 이야기한다고 생각합니다. 초급 개발자가 고급 개발자로 나아가고 싶거나, 좀 더 고급 개발을 하고자 하는 모든 이들을 만족시켜 줄 책이라 읽는 동안 너무 재미있었습니다. 곁에 항상 두고 사전처럼 사용하기를 바랍니다. 이 책이 길을 제시해 줄 것입니다.

  • 5년 차에 접어드는 현업 개발자입니다. 요새 좋은 코드란 무엇인지에 대한 고민이 많을 무렵, 운이 좋게도 이 책을 리뷰하게 되었습니다. 리뷰하면서 '단일 책임의 원칙’처럼 공감하고 개발에 적용하고 있는 부분도 상당수 있었고, 반대로 리뷰를 하지 않았다면 '주석'처럼 소홀히 넘어갈 만한 부분도 있었습니다. 이처럼 이 책은 현업 개발자들이 충분히 공감할 내용으로 구성이 되어 있으며 코드 작성하는 데 있어 놓치기 쉬운 부분도 가이드를 세세하게 제시하고 있는 점이 맘에 들었습니다. 개발자들이 좋은 코드에 대한 고민이 있을 때 해당 도서를 읽는다면 좋은 인사이트를 얻을 수 있을 것이라 생각합니다.

  • 이 책은 코드를 개발하고 협업하기 위해 필요한 내용에 대해 정의하고 있습니다. 특히 항상 강조하지만, 작성하면서도 어려움을 겪는 '네이밍, '주석' 부분은 '가독성'과 연계되어 코드가 의사소통하는 언어로서 동작한다는 것을 이해하게 되었습니다. 함수, 의존 관계에 대해서는 기능이 하나의 책임만 가지며 서로 명확한 의존관계를 통해 동작 흐름을 이해하기 쉽게 하고, 안티패턴들을 소개함으로써 독자에게 명확하게 코드 작성에 대한 가이드를 소개하는 부분이 좋았습니다. 마지막으로 코드 리뷰에 대해서는 리뷰이, 리뷰어로서 각 역할을 소개하고, 리뷰이를 존중하면서도 효율적으로 리뷰를 수행하는 것이 중요하다는 내용이 인상깊었습니다.
    전반적으로 이 책은 코드를 작성하는 모두에게 도움이 될 만한 내용으로 구성되어 있으며, 코드를 어떻게 하면 단순 명료하면서 깔끔하게 작성할 수 있는지를 배울 수 있는 계기를 마련해 줍니다.

  • 이 책을 읽으며 평소 무심코 작성했던 코드들이 주마등처럼 지나가며 찔리는 재미있는 경험을 했습니다. 이는 저뿐만 아니라 개발자라면 누구나 다 한 번씩은 그럴 것이라 생각합니다. 그만큼 우리는 코드에 신경을 씁니다. 작은 것들이라도 모이면 결국 가독성을 떨어뜨리고 이해하기 어렵게 만들기 때문에 한 줄 한 줄 코드를 작성하며 고민을 거듭하곤 합니다. 이 책은 그런 고민하는 개발자들에게 있어서 네이밍부터 코드 리뷰까지 원칙과 가이드를 빠짐없이 세세하게 담고 있어 코드 퀄리티를 높이는 과정을 돕는 좋은 길잡이가 되어줍니다. 기존에 따랐던 컨벤션들이, 지금의 코드들이 왜 그랬는지 함께 이해하고, 좋지 않은 예시들은 어떻게 바꾸는 것이 바람직할지 페이지를 멈춰가며 책과 같이 고민해 본다면 어느새 달라진 나의 코드를 마주할 수 있을 것입니다.

  • 프로그래밍은 결국 코딩으로 완성됩니다. 잘 동작하는 것이 프로그래밍의 목적이지만 그 프로그램을 만들고 이해하는 것은 사람입니다. 결국 사람이 잘 이해할 수 있도록 만드는 것이 좋은 프로그래머입니다. 이 책은 코딩에서 필요한 다양한 네이밍은 물론이고, 환경에 적합한 가이드를 보여주고 있습니다. 마지막 장의 코드 리뷰는 지금 저에게 꼭 필요했던 부분이라 너무 좋았습니다. 코드에 대한 저자의 깊은 고민과 오랜 경험의 노하우를 볼 수 있었고, 그 결과물을 볼 수 있는 기회를 얻을 수 있어 감사합니다.

  • 이 책은 제목처럼 구체적인 지침을 바탕으로 가독성 높은 코드를 작성하는 방법을 각 장의 주제별로 구성되어 있습니다. 나쁜 코드 작성의 예시와 좋은 코드 작성의 예시를 통해 코드를 어떻게 개선해야 하는지 명시적으로 보여주는 점이 좋았고, 코틀린과 자바를 주로 다루지만 다른 언어 사용자들에게도 적용할 수 있는 범용적인 원리를 제시하여 언어에 국한되지 않은 개념들도 좋았습니다. 또한, 이 개념들을 바탕으로 코드 리뷰에 대한 실용적인 조언은 팀 프로젝트에서 협업하는 데 도움이 될 것 같습니다. 협업하는 다른 개발자들 혹은 자신의 코드 분석 시간을 아끼고 싶은 분들에게 추천합니다.

책 속으로

오늘만 코딩하는 사람이 아니라면 누구나 코드의 품질을 고민합니다. 소프트웨어 개발은 단순히 제품을 구현하는 것에만 그치지 않고 문제의 원인을 찾고 개선해 나가며, 지속 가능성을 고려한 최적의 결과물을 만들어 나가는 과정이기 때문이죠. 이 책은 높은 품질의 코드를 쓰기 위한 원칙을 배움과 동시에 그 원칙을 언제 어디에 적용할 것인지를 선택하는 데 도움을 줄 것입니다. 특히 마지막 장에서 다루는 코드 리뷰는 이 책의 내용을 활용하기에 완벽한 기회입니다. IT가 세상의 중심이 된 만큼, 우리는 소프트웨어 개발자가 짊어져야 할 책임에 대해서도 고민해야 합니다. 코드는 그 존재만으로도 누군가가 유지보수해야 할 부채가 되므로, 자신의 코드가 누군가에게 잘못 이해되어 제품의 결함을 유발하거나 생산성을 저해하는 요소가 되지 않도록 노력해야 합니다. ‘그냥 돌아가기만 하면 되는 코드’, ‘쓰기에 간편한 코드’가 아닌, 그 코드를 접하게 될 모든 개발자가 쉽게 개선하고 확장할 수 있도록 ‘읽는 사람을 배려한 코드’를 작성해야 합니다.

_역자의 말 중에서

출판사 서평

스파게티 코드를 만들 것인가?
읽기 쉽고 수정하기 쉬운 코드를 만들 것인가?
코드 네이밍부터 코드 리뷰까지, 가독성을 높이는 코드 작성법

"도대체 무엇을 하는 코드인지 알 수가 없다", "사양을 변경해야 하는데 어디부터 손을 대야 하는 걸까" 개발자라면 이런 경험을 해본 적 있을 것이다. 분명 복잡한 기능을 구현하는 코드가 아닌데 이해하기가 어렵고, 곳곳에 함정이 있어서 조금만 변경해도 쉽게 망가지는 코드와 마주하거나, 코드를 작성할 당시에는 내 코드가 완벽하고 아름답다고 생각했지만 몇 달 후에 다시 봤을 때는 "내가 왜 이런 코드를 썼지?"라고 자책하기도 한다. 그래서 우리는 '코드 가독성'을 놓치지 말아야 한다.
이 책은 저자가 LINE에서 근무하면서 대규모 개발 프로젝트의 코드 리뷰와 리팩터링을 해본 경험을 바탕으로 코드 가독성과 코드 리뷰에 대해 설명한다. 먼저 읽기 쉬운 코드가 필요한 이유와 프로그래밍 원칙에 대해 이야기하고, 코드 네이밍 방법, 주석 작성법, 클래스 내부 구조인 상태와 함수를 설명하고, 클래스 간의 의존 관계도 설명한다. 또한, 팀 내 코드 리뷰 진행 방법과 가이드도 제시한다. 책 전체에 걸쳐 실제 코틀린 코드를 예로 설명하기 때문에 이론으로 배운 내용을 명확하게 이해할 수 있다.

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수을(를) 나타낸 표입니다.
ISBN 9791140709090
발행(출시)일자 2024년 04월 18일
쪽수 296쪽
크기
153 * 226 * 18 mm / 540 g
총권수 1권

Klover

구매 후 리뷰 작성 시, e교환권 200원 적립

데이터를 불러오는 중입니다.

문장수집 (1)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

가독성 높은 코드를 작성하는
코드 작성 가이드

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

한강 스페셜 에디션
이벤트
  • sam x 한샘 [똑똑한sam]
  • 2025 1학기 대학교재전
01 / 02
TOP