본문 바로가기

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

Code Complete 코드 컴플리트 2 상세페이지

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

Code Complete 코드 컴플리트 2

더 나은 소프트웨어 구현을 위한 실무 지침서
소장종이책 정가48,000
전자책 정가21%38,000
판매가38,000
Code Complete 코드 컴플리트 2 표지 이미지

Code Complete 코드 컴플리트 2작품 소개

<Code Complete 코드 컴플리트 2>

《Code Complete 2》는 소프트웨어 구현을 둘러싼 다양한 비유부터 기초적인 프로그래밍, 시스템 구축, 소프트웨어 장인정신에 이르기까지 소프트웨어 업계에 종사하는 분이라면 누구나 읽어야 할 필독서입니다.

2004년에 초판이 출간된 이후로 시간이 흘러도 여전히 가치 있는 명저의 반열에 오른 책으로서 특정 프로그래밍 언어나 플랫폼과는 무관한 내용으로 구성돼 있어 소프트웨어 업계에 종사하는 모든 분들에게 도움될 만한 내용으로 가득 차 있습니다.


출판사 서평

추천사
≪CODE COMPLETE≫ 제1판도 매우 훌륭한 소프트웨어 공학 서적이었지만 제2판은 그보다 더 훌륭하다.

-- 랄프 존슨, 일리노이 대학; ≪디자인 패턴≫ 공동 저자

초보 개발자나 숙련된 개발자 모두에게 ≪CODE COMPLETE≫ 제2판은 프로그래밍에 대해 생각하는 최고의 방법을 가르쳐 준다.

-- 제프리 리처(www.wintellect.com), ≪Applied Microsoft .NET Framework Programming≫ 저자


저자 소개

스티브 맥코넬 (Steve McConnel)
스티브 맥코넬은 컨스트럭스 소프트웨어(Construx Software)의 수석 소프트웨어 엔지니어로 컨스트럭스 소프트웨어의 소프트웨어 공학 실천법을 총괄한다. 스티브는 SWEBOK(Software Engineering Body of Knowledge, 소프트웨어 공학 지식 체계) 프로젝트 중 구축 분야를 이끌었다. 스티브는 마이크로소프트와 보잉 및 시애틀 지역의 다른 회사에서 소프트웨어 프로젝트에 참여했다.

스티브는 《프로젝트 쾌속 개발 전략》(한빛미디어, 2003), 《소프트웨어 프로젝트 생존 전략》(인사이트, 2011), 《Professional 소프트웨어 개발》(인사이트, 2003)의 저자다. 그의 저서는 소프트웨어 개발 잡지의 Jolt Excellence 상을 올해 최고의 소프트웨어 개발 도서로 두 번 수상했다. 스티브는 소프트웨어 개발 생산성 상을 수상한 SPC Estimate Professional의 수석 개발자였다. 1998년, 소프트웨어 개발 잡지의 독자는 빌 게이츠(Bill Gates)와 리누스 토발즈(Linus Torvalds)와 함께 소프트웨어 업계에서 가장 영향력 있는 세 명 중 한 사람으로 스티브를 지명했다.

스티브는 휘트먼 대학교에서 학사 학위와 시애틀 대학교에서 소프트웨어 공학 석사 학위를 취득했다. 그는 현재 워싱턴 주 벨뷰에 산다.

목차

[1부] 기초 확립
▣ 1장: 소프트웨어 구현으로의 초대
1.1 소프트웨어 구현이란 무엇인가?
1.2 소프트웨어 구현이 중요한 이유는 무엇인가?
1.3 이 책을 읽는 방법
요점 정리

▣ 2장: 소프트웨어 개발의 이해를 돕기 위한 비유
2.1 비유의 중요성
2.2 소프트웨어 비유 사용법
2.3 일반적인 소프트웨어 비유
참고 자료
요점 정리

▣ 3장: 준비는 철저하게: 선행 조건
3.1 선행 조건의 중요성
3.2 작업 중인 소프트웨어의 종류 결정
3.3 문제-정의 선행 조건
3.4 요구사항 선행 조건
3.5 아키텍처 선행 조건
3.6 선행 조건에 소요되는 시간
참고 자료
요점 정리

▣ 4장: 구현 시 결정해야 할 핵심 사항
4.1 프로그래밍 언어 선택
4.2 프로그래밍 규약
4.3 기술 흐름 파악
4.4 구현 실천법 선택
요점 정리

[2부] 고품질 코드 작성
▣ 5장: 구현 설계
5.1 설계의 어려움
5.2 핵심 설계 개념
5.3 설계 빌딩 블록: 발견적 학습
5.4 설계 실천법
5.5 잘 알려진 방법론에 대한 의견
참고 자료
요점 정리

▣ 6장: 클래스 다루기
6.1 클래스의 토대: 추상 데이터형(ADT)
6.2 좋은 클래스 인터페이스
6.3 설계와 구현 문제
6.4 클래스를 작성하는 이유
6.5 프로그래밍 언어와 관련된 이슈
6.6 클래스를 넘어서: 패키지
참고 자료
요점 정리

▣ 7장: 고급 루틴
7.1 루틴을 작성하는 이유
7.2 루틴 수준의 설계
7.3 좋은 루틴 이름
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 방어적인 프로그래밍에 대해서 한 번 더 고민하기
참고 자료
요점 정리

▣ 9장: 의사코드 프로그래밍 프로세스
9.1 클래스 및 루틴 개발 단계 요약
9.2 전문가를 위한 의사코드
9.3 PPP를 이용한 루틴 구현
9.4 PPP 대안
요점 정리

[3부] 변수
▣ 10장: 변수 사용 시 고려할 사항
10.1 데이터 사용 능력
10.2 변수 선언을 쉽게 만드는 방법
10.3 변수 초기화 가이드라인
10.4 범위
10.5 지속성
10.6 결합 시점
10.7 데이터형과 제어 구조 사이의 관계
10.8 변수를 한 목적으로만 사용하기
요점 정리

▣ 11장: 변수 이름의 기능
11.1 좋은 이름을 위한 고려 사항
11.2 특정 타입의 데이터 이름 짓기
11.3 이름 규약의 효과
11.4 비형식적인 이름 규약
11.5 표준 접두사
11.7 피해야 할 변수 이름
요점 정리

▣ 12장: 기본 데이터형
12.1 숫자 일반
12.2 정수
12.3 부동 소수점 수
12.4 문자와 문자열
12.5 불린 변수
12.6 열거형
12.7 이름 상수
12.8 배열
12.9 새로운 형 만들기(형 별명)
요점 정리

▣ 13장: 특이한 데이터형
13.1 구조체
13.2 포인터
13.3 전역 데이터
참고 자료
요점 정리

[4부] 명령문
▣ 14장: 순차적 코드 구성하기
14.1 순서가 중요한 명령문
14.2 순서가 중요하지 않은 명령문
요점 정리

▣ 15장: 조건문 사용
15.1 if 문
15.2 case 문
요점 정리

▣ 16장: 반복문 제어
16.1 반복문 종류 선택
16.2 반복문 제어
16.3 반복문을 쉽게 작성하는 법 - 안에서부터 밖으로
16.4 반복문과 배열의 연관성
요점 정리

▣ 17장: 특이한 제어 구조
17.1 여러 곳에서 반환하는 루틴
17.2 재귀문
17.3 goto 문
17.4 특이한 제어 구조에 대한 관점
참고 자료
요점 정리

▣ 18장: 테이블 활용 기법
18.1 테이블 활용 기법에서 일반적으로 고려해야 할 사항
18.2 직접 접근 방식
18.3 인덱스 접근 방식
18.4 단계적 접근 방식
18.5 그 밖의 테이블 참조 방법
요점 정리

▣ 19장: 제어와 관련된 일반적인 이슈
19.1 불린 표현식
19.2 복합문(블록)
19.3 널 명령문
19.4 지나치게 깊은 중첩 구조 처리
19.5 프로그래밍의 기초: 구조적 프로그래밍
19.6 제어 구조와 복잡성
요점 정리

[5부] 코드 향상
▣ 20장: 소프트웨어 품질
20.1 소프트웨어 품질의 특성
20.2 소프트웨어의 품질을 향상시키기 위한 기법들
20.3 품질 향상 기법의 상대적 효과성
20.4 품질 보증 활동 시기
20.5 소프트웨어 품질의 일반적인 원칙
참고 자료
요점 정리

▣ 21장: 협력 구현
21.1 협력 개발 방법 개요
21.2 짝 프로그래밍
21.3 형식적인 정밀 검토
21.4 여러 가지 협력 개발 방법
참고 자료
요점 정리

▣ 22장: 개발자 테스트
22.1 소프트웨어 품질에서 개발자 테스트의 역할
22.2 개발자 테스트에 대한 바람직한 접근 방법
22.3 여러 가지 교묘한 테스트 방법
22.4 전형적인 오류
22.5 테스트 지원 도구
22.6 테스트를 향상시키는 방법
22.7 테스트 기록을 보존하는 방법
참고 자료
요점 정리

▣ 23장: 디버깅
23.1 디버깅 이슈 소개
23.2 결함 발견
23.3 결함 수정
23.4 디버깅에서 심리학적으로 고려해야 할 사항
23.5 디버깅 도구 ? 분명한 도구와 그렇지 않은 도구
참고 자료
요점 정리

▣ 24장: 리팩터링
24.1 소프트웨어 진화의 종류
24.2 리팩터링 소개
24.3 구체적인 리팩터링
24.4 안전한 리팩터링 방법
24.5 리팩터링 전략
참고 자료
요점 정리

▣ 25장: 코드 튜닝 전략
25.1 성능이란?
25.2 코드 튜닝 소개
25.3 느리고 비대한 부분
25.4 측정
25.5 반복
25.6 코드 튜닝 단계 요약
참고 자료
요점 정리

▣ 26장: 코드 튜닝 기법
26.1 논리 구조
26.2 반복문
26.3 데이터 변환
26.4 표현식
26.5 루틴
26.6 저급 언어를 이용한 재구성
26.7 변경이 많을수록 상태는 그대로
참고 자료
요점 정리

[6부] 시스템 고려 사항
▣ 27장: 프로그램의 크기가 구현에 미치는 영향
27.1 의사소통과 크기
27.2 프로젝트 크기의 범위
27.3 프로젝트의 크기가 오류에 미치는 영향
27.4 프로젝트의 크기가 생산성에 미치는 영향
27.5 프로젝트의 크기가 개발 활동에 미치는 영향
참고 자료
요점 정리

▣ 28장: 구현 관리
28.1 훌륭한 코딩 장려
28.2 형상 관리
28.3 구현 일정 예측
28.4 측정
28.5 개발자를 사람으로 대우하기
28.6 관리자 관리
요점 정리

▣ 29장: 통합
29.1 통합 접근 방법의 중요성
29.2 통합 빈도-단계별 또는 점증적 접근 방법
29.3 점증적 통합 전략
29.4 일일 빌드와 스모크 테스트
참고 자료
요점 정리

▣ 30장: 프로그래밍 도구
30.1 설계 도구
30.2 소스코드 도구
30.3 실행 코드 도구
30.4 도구 지향적인 환경
30.5 자신만의 프로그래밍 도구 개발
30.6 프로그래밍 도구에 대한 환상
참고 자료
요점 정리

[7부] 소프트웨어 장인정신
▣ 31장: 레이아웃과 스타일
31.1 레이아웃 기초 지식
31.2 레이아웃 기법
31.3 레이아웃 스타일
31.4 제어 구조의 레이아웃
31.5 개별 명령문 레이아웃
31.6 주석 레이아웃
31.7 루틴 레이아웃
31.8 클래스 레이아웃
참고 서적
요점 정리

▣ 32장: 스스로를 설명하는 코드
32.1 외부 문서
32.2 문서화를 위한 프로그래밍 스타일
32.3 주석을 작성할 것인가? 작성하지 않을 것인가?
32.4 효과적인 주석을 위한 핵심 사항
32.5 주석 스타일
32.6 IEEE 표준
참고 자료
요점 정리

▣ 33장: 개발자의 성격
33.1 성격은 주제를 벗어난 것 아닌가?
33.2 지성과 겸손
33.3 호기심
33.4 지적인 정직함
33.5 의사소통과 협동
33.6 창의성과 훈련
33.7 게으름
33.8 덜 중요한 특성
33.9 습관
참고 자료
요점 정리

▣ 34장: 소프트웨어 장인정신에 대한 주제
34.1 복잡성 정복
34.2 자신에게 맞는 프로세스 선택
34.3 컴퓨터보다 사람을 위한 프로그램을 작성하라
34.4 언어에 제약을 받지 않고 언어를 활용한 프로그래밍
34.5 규약을 활용하여 핵심에 집중
34.6 문제 중심의 프로그래밍
34.7 낙석을 주의하라
34.8 반복, 반복, 또 반복
34.9 소프트웨어와 신조를 떼어 놓아라
요점 정리

▣ 35장: 더 많은 정보를 얻으려면
35.1 소프트웨어 구현에 관한 정보
35.2 구현 외의 주제
35.3 정기 간행물
35.4 소프트웨어 개발자의 독서 계획
35.5 전문가 협회에 가입


리뷰

구매자 별점

5.0

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

1명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

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

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

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

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



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

spinner
모바일 버전