장바구니 담기 close

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

코드 크래프트

코드 크래프트

  • 피트구들리프
  • |
  • 길벗
  • |
  • 2021-08-20 출간
  • |
  • 668페이지
  • |
  • 188 X 235 X 27 mm
  • |
  • ISBN 9791165216252
판매가

42,000원

즉시할인가

37,800

배송비

무료배송

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

수량
+ -
총주문금액
37,800

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

출판사서평

현실 세계에서 올바른 코드를 작성하는 법

 

동작하는 코드 너머에 있는 것들

프로그래머는 동작하는 코드를 작성하는 법은 알지만, 그저 동작만 한다는 사실은 알지 못한다. 잘 작성된 코드, 이해하기 쉬운 코드, 요구사항의 균형점에 있는 훌륭한 코드를 작성하는 법은 대부분 알지 못한다. 이 책에서는 동작하는 코드가 아니라 훌륭한 코드를 작성하는 법을 설명한다. 훌륭한 코드를 작성하는 법을 하나씩 익히다 보면 수습생에서 전문가로 변화할 수 있을 것이다.

 

코드마다 스타일이 달라서 정말 한 사람이 작성한 게 맞아요?

문법을 설명하고, 예제가 동작하는 법을 설명하는 책은 많지만, 올바르게 코드를 작성하는 법을 설명하는 책은 많지 않다. 그때그때 즉흥적으로 코드를 작성하거나 인터넷 검색을 통해 가져온 코드를 사용하면서 코드를 작성하다 보면 팀 리뷰에서조차 정말 한 사람이 작성한 게 맞느냐는 얘기를 듣기 쉽다. 코드를 작성하는 일관된 스타일을 익히는 것이 중요하다. 코드의 표현 스타일, 변수 이름 짓기, 오류 처리, 보안 같이 코딩에 필요한 요소들을 익혀서 정말 한 사람이 작성한 게 맞느냐는 얘기는 듣지 않게 하자.

 

위대한 코드는 나 홀로 탄생하지 않는다

전반부가 코드 작성 그 자체에 대한 이야기라면 후반부는 팀, 개발 프로세스, 명세서 작성, 팀 리뷰, 외부의 제약 조건을 다룬다. 훌륭한 코드는 프로그래머 개인의 코드 작성뿐 아니라 팀, 개발 프로세스, 명세서 작성, 팀 리뷰의 과정을 거친다는 사실을 놓치지 않는다. 전반부가 팀원의 역량이라면 후반부는 팀장, 아키텍처, 조직의 역량이라는 뜻이다. 위대한 코드를 위한 여정을 위해 이 책이 선반에 반드시 있어야 하는 이유다.

 

신입 개발자를 위한 코드의 기술

- 올바른 코드를 올바른 방식으로 작성할 수 있을까?

- 기술적으로 명쾌한 코드

- 유지 보수 가능한 코드

- 엉망인 코드를 이해하고 조정하기

- 어울려 일하기 접기


목차


1부 코드페이스에서
1 방어 태세
__1.1 훌륭한 코드를 향해
__1.2 최악을 가정하라
__1.3 방어적 프로그래밍이란?
__1.4 거대하고 못된 세상
__1.5 방어적 프로그래밍 기법
__1.6 제약
__1.7 요약
__1.8 참고
__1.9 생각해 보기

2 잘 세운 계획
__2.1 왜 중요할까?
__2.2 독자 파악하기
__2.3 훌륭한 표현이란 무엇일까?
__2.4 마음 단단히 먹자(Brace yourself)
__2.5 전부를 뛰어넘는 단 하나의 스타일
__2.6 하우스 스타일(그리고 언제 고수해야 하는지)
__2.7 표준 수립
__2.8 전쟁은 불가피하다?
__2.9 요약
__2.10 참고
__2.11 생각해 보기

3 이름이 왜 중요할까?
__3.1 이름을 잘 지어야 하는 이유
__3.2 무엇을 명명할까?
__3.3 이름 고르기
__3.4 하나씩 살펴보기
__3.5 어떤 이름으로 불리우든 장미는 장미다
__3.6 요약
__3.7 참고
__3.8 생각해 보기

4 무엇을 작성해야 하나
__4.1 자체 문서화 코드
__4.2 자체 문서화 코드 작성 기법
__4.3 실용적 자체 문서화 방법론
__4.4 요약
__4.5 참고
__4.6 생각해 보기

5 부수적 주석
__5.1 코드 주석이란?
__5.2 주석은 어떻게 생겼나?
__5.3 주석을 얼마나 써야 할까?
__5.4 주석에 어떤 내용을 넣을까?
__5.5 실전
__5.6 미학적(aesthetics) 주석
__5.7 주석 다루기
__5.8 요약
__5.9 참고
__5.10 생각해 보기

6 사람은 실수하기 마련이다
__6.1 오류가 시작되는 곳
__6.2 오류 보고 메커니즘
__6.3 오류 감지
__6.4 오류 처리
__6.5 난동 부리기
__6.6 오류 처리
__6.7 요약
__6.8 참고
__6.9 생각해 보기

2부 코드의 비밀스러운 생애
7 프로그래머의 도구상자
__7.1 소프트웨어 도구란
__7.2 왜 도구에 신경 쓰는가?
__7.3 공부 벌레(Power tool)
__7.4 어떤 도구를 쓸까?
__7.5 요약
__7.6 참고
__7.7 생각해 보기

8 테스트할 시간
__8.1 현실성 검증
__8.2 누가, 언제, 무엇을, 왜?
__8.3 테스트는 어렵지 않다…?
__8.4 테스트 유형
__8.5 단위 테스트 케이스 고르기
__8.6 테스트 디자인
__8.7 직접 하지 않아도 돼!
__8.8 실패의 단면
__8.9 이겨낼 수 있는가?
__8.10 요약
__8.11 참고
__8.12 생각해 보기

9 결함 찾기
__9.1 삶의 진실
__9.2 야수의 본성
__9.3 해충 박멸
__9.4 버그 사냥
__9.5 결함을 고치는 방법
__9.6 예방
__9.7 말벌 스프레이, 민달팽이 퇴치제, 파리잡이 끈끈이
__9.8 요약
__9.9 참고
__9.10 생각해 보기

10 잭이 개발한 코드
__10.1 언어 장벽
__10.2 자세히 들여다 보기
__10.3 빌드 만들기
__10.4 훌륭한 빌드 시스템이란 무엇일까?
__10.5 기법(mechanics, 역학, 메커니즘)
__10.6 이제 출시해 주세요
__10.7 다재다능 빌드마스터?
__10.8 요약
__10.9 참고
__10.10 생각해 보기

11 속도의 필요성
__11.1 최적화란
__11.2 무엇이 코드를 최적이 아니게 만드는가?
__11.3 왜 최적화하면 안 되는가
__11.4 왜 최적화할까?
__11.5 하나씩 살펴보기
__11.6 최적화 기법
__11.7 효율적인 코드 작성
__11.8 요약
__11.9 참고
__11.10 생각해 보기

12 불안 장애
__12.1 위험
__12.2 적(The Opposition)
__12.3 변명을 해보자면
__12.4 취약한 부분
__12.5 보호 라켓
__12.6 요약
__12.7 참고
__12.8 생각해 보기

3부 코드 형태
13 훌륭한 디자인
__13.1 프로그래밍이 곧 디자인이다
__13.2 무엇을 디자인할까?
__13.3 왜 이렇게 야단법석(호들갑)일까(소란스러워)?
__13.4 좋은 소프트웨어 디자인
__13.5 코드 디자인 방법
__13.6 요약
__13.7 참고
__13.8 생각해 보기

14 소프트웨어 아키텍처
__14.1 소프트웨어 아키텍처란
__14.2 훌륭한 아키텍처란?
__14.3 아키텍처 스타일
__14.4 요약
__14.5 참고
__14.6 생각해 보기

15 소프트웨어 진화 혹은 소프트웨어 혁명?
__15.1 소프트웨어 부패
__15.2 경고 신호
__15.3 코드는 어떻게 성장할까?
__15.4 불가능을 믿다
__15.5 무엇을 할 수 있을까?
__15.6 요약
__15.7 참고
__15.8 생각해 보기

4부 프로그래머 무리?
16 코드 몽키
__16.1 몽키 비즈니스
__16.2 이상적 프로그래머
__16.3 그럼 이제 무엇을 할까?
__16.4 가장 어리석은 인간
__16.5 요약
__16.6 참고
__16.7 활동지
__16.8 생각해 보기

17 뭉쳐야 산다
__17.1 큰 그림으로 보는 팀
__17.2 팀 구성
__17.3 팀워크 도구
__17.4 팀 병폐
__17.5 단단한 팀워크 구축을 위한 개개인의 능력과 특성
__17.6 팀워크 수칙
__17.7 팀 생애 주기
__17.8 요약
__17.9 참고
__17.10 활동지
__17.11 생각해 보기

18 소스 안전 생활화
__18.1 우리의 책임
__18.2 소스 제어
__18.3 형상 관리
__18.4 백업
__18.5 소스 코드 출시
__18.6 소스 코드를 어디에 두든
__18.7 요약
__18.8 참고
__18.9 생각해 보기

5부 과정의 일환
19 명시적으로
__19.1 명세란 정확히 무엇인가?
__19.2 명세의 유형
__19.3 명세에 어떤 내용이 들어가야 하는가?
__19.4 명세 작성 절차
__19.5 그냥 명세를 작성하면 어떨까?
__19.6 요약
__19.7 참고
__19.8 생각해 보기

20 완벽한 리뷰
__20.1 코드 리뷰란?
__20.2 언제 리뷰하는가?
__20.3 코드 리뷰 수행
__20.4 태도 리뷰
__20.5 코드 완성
__20.6 코드 리뷰가 끝이 아니다
__20.7 요약
__20.8 참고
__20.9 체크리스트
__20.10 생각해 보기

21 그걸 누가 알겠어?
__21.1 어림짐작
__21.2 왜 추정하기 어려운가?
__21.3 압박
__21.4 실용적 추정 방법
__21.5 계획 게임
__21.6 일정 지키기!
__21.7 요약
__21.8 참고
__21.9 생각해 보기

6부 위에서 내려다 보기
22 프로그램 레시피
__22.1 프로그래밍 스타일
__22.2 레시피: 어떻게 그리고 무엇을
__22.3 개발 프로세스
__22.4 그만하면 됐다!
__22.5 프로세스 선택
__22.6 요약
__22.7 참고
__22.8 생각해 보기

23 외부 제약
__23.1 애플리케이션 프로그래밍
__23.2 게임 프로그래밍
__23.3 시스템 프로그래밍
__23.4 임베디드 프로그래밍
__23.5 분산 프로그래밍
__23.6 웹 애플리케이션 프로그래밍
__23.7 엔터프라이즈 프로그래밍
__23.8 수치해석 프로그래밍
__23.9 그래서 어쩌라고?
__23.10 요약
__23.11 참고
__23.12 생각해 보기

24 다음 단계는?
__24.1 하지만 지금은?

교환 및 환불안내

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