장바구니 담기 close

장바구니에 상품을 담았습니다.

코드 작성 가이드

코드 작성 가이드

  • 이시가와 무네토시
  • |
  • 길벗
  • |
  • 2024-04-18 출간
  • |
  • 296페이지
  • |
  • 152 X 225 X 14mm
  • |
  • ISBN 9791140709090
판매가

24,000원

즉시할인가

21,600

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
21,600

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

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

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

목차

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 정리

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

도서소개

 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.