본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

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

컴퓨터/IT 개발/프로그래밍

코드 작성 가이드

소장종이책 정가24,000
전자책 정가20%19,200
판매가19,200
코드 작성 가이드 표지 이미지

코드 작성 가이드작품 소개

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


저자 프로필

이시가와 무네토시

  • 경력 LINE 소프트웨어 엔지니어

2024.04.26. 업데이트 작가 프로필 수정 요청

주식회사 LINE의 LINE Platform Development 2센터, Mobile Experience 개발실의 Developer Experience 개발팀 소속이다. 시니어 소프트웨어 엔지니어로, LINE의 안드로이드 버전을 개발하고 있다. 또한, 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 정리
부록 이 책을 읽는 데 필요한 코틀린 문법


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전