길벗·이지톡

도서 IT전문서/IT입문서 프로그래밍/오픈소스

클린 코드, 이해할 수 있는 코드를 위한 팀 지침서

주니어 개발자는 멋진 코드를 작성하지만, 시니어 개발자는 쉽게 이해할 수 있는 코드를 작성한다. 기발한 코드, 과도한 추상화, 멋진 디자인 패턴의 도입이 주니어 개발자의 특징이라면 시니어 개발자는 이해할 수 있는 코드, 유지보수와 확장성이 좋은 코드를 지향하기 때문에 간단하고 직관적인 코드를 작성한다.
이 책에서는 소프트웨어 개선 그룹(SIG)의 컨설턴트들이 C#으로 작성된 CsPacman 오픈 소스를 예로 들어 유지보수 가능한 소프트웨어를 만드는 10가지 원칙을 설명한다. 팀에서 반드시 알아야 하는 코드 작성 지침을 제시하기 때문에 주니어와 시니어 모두 알아야 하는 공통 원칙을 공유할 수 있으므로 개발팀의 서가에 이 책은 반드시 꽂혀 있어야 한다.

---
바보도 컴퓨터가 이해할 수 있는 코드를 작성할 수 있다.
좋은 프로그래머는 사람이 이해할 수 있는 코드를 작성한다. _마틴 파울러

소프트웨어를 설계하는 데에는 두 가지 방법이 있다. 아주 간단하게 하여 결함이 존재할 수 없게 하거나 아니면 아예 복잡하게 하여 결함이 없도록 하는 것이다. _C.A.R. 호어

전문가라 불리기 위해 첫째로 해야 할 일은 클린 코드를 작성하는 것이다. _로버트 C. 마틴


[예제 코드]
• 길벗 깃허브 저장소: https://github.com/gilbutITbook/006899
• 원서 소스 코드: https://github.com/BetterCodeHubTraining/cspacman

목차

1장 들어가며   
__1.1  유지보수성이란?
__1.2  유지보수의 중요성
__1.3  유지보수 3대 원칙
__1.4  유지보수성에 관한 오해
__1.5  유지보수성 등급 매기기
__1.6  유지보수성 지침 개요

2장 짧게 작성하자   
__2.1  동기
__2.2  적용 지침
__2.3  짧은 코드를 반대하는 의견들
__2.4  참고

3장 단순하게 작성하자   
__3.1  동기
__3.2  적용 지침
__3.3  반대 의견
__3.4  참고

4장 한 번만 작성하자   
__4.1  동기
__4.2  적용 지침
__4.3  반대 의견
__4.4  참고

5장 단위 인터페이스를 작게 하자   
__5.1  동기
__5.2  적용 지침
__5.3  반대 의견
__5.4  참고

6장 관심사를 모듈로 분리하자   
__6.1  동기
__6.2  적용 지침
__6.3  반대 의견

7장 아키텍처 컴포넌트를 느슨하게 결합하자   
__7.1  동기
__7.2  적용 지침
__7.3  반대 의견
__7.4  참고

8장 균형 잡힌 설계를 하자   
__8.1  동기
__8.2  적용 지침
__8.3  반대 의견
__8.4  참고

9장 코드베이스를 작게 하자   
__9.1  동기
__9.2  적용 지침
__9.3  반대 의견

10장 자동화된 테스트   
__10.1  동기
__10.2  적용 지침
__10.3  반대 의견
__10.4  참고

11장 클린 코드를 작성하자   
__11.1  흔적을 남기지 말라  
__11.2  적용 지침
__11.3  반대 의견

12장 다음 단계   
__12.1  지침을 실전에 적용하자
__12.2  지침 우선순위
__12.3  모든 커밋 횟수를 기억하자
__12.4  개발 프로세스 모범 사례는 후속책에서 언급한다

부록 A SIG 유지보수성 측정법

더보기접기

저자

ㆍ지은이 주스트뷔서

지은이 소개
SIG 연구소장으로 소프트웨어를 평가하고 마스터하기 위해 SIG가 구축한 방법 및 도구의 기반 기술을 담당한다.

ㆍ지은이 파스칼반에크

지은이 소개
SIG 소프트웨어 품질 담당 컨설턴트이며 IT 보안, 소프트웨어 지표 등의 분야에 80편이 넘는 논문을 썼다.

ㆍ지은이 롭반더리크

지은이 소개
SIG 소프트웨어 품질 담당 컨설턴트로 SIG 소프트웨어 분석 툴의 개발/유지보수를 담당하는 내부 팀을 이끌고 있다.

ㆍ지은이 실번리갈

지은이 소개
SIG 소프트웨어 품질 컨설턴트로 소프트웨어 디자인 및 개발 프로세스 개선에 우선순위를 부여하고 보안을 향상하는 일을 한다.

ㆍ지은이 히시위즌홀즈

지은이 소개
공공 분야 담당 소프트웨어 품질 컨설턴트로 고객사 프로젝트가 잘 관리될 수 있게 개발 프로세스 전반에 대해 컨설팅한다.

ㆍ옮긴이 황동윤

옮긴이 소개
괴혼의 아버지로 알려진 다카하시 케이타(Takahashi Keita)를 존경하며 국제 게임공모전인 IGF와 인디케이드에 참가하고 싶은 평범한 게임 개발자다. 여러 나라를 돌아다니며 게임, 웹, 모바일 등 다양한 분야에서 십여 년간 개발자로 일했다. 현재 언덜(UnDull)이라는 게임 회사를 운영하고 있다. 디지털 노마드를 실천하며, 틈틈이 랜스군의 게임공작소(lancekun.com)에 게임 프로그래밍 관련 이슈들을 올리고 있다.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.