Code Complete 코드 컴플리트 (더 나은 소프트웨어 구현을 위한 실무 지침서 | 2 판)

Code Complete 코드 컴플리트 (더 나은 소프트웨어 구현을 위한 실무 지침서 | 2 판)

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

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

스티브맥코넬

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

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

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

목차

[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.3PPP를이용한루틴구현
9.4PPP대안
요점정리

[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.1if문
15.2case문
요점정리

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

▣17장:특이한제어구조
17.1여러곳에서반환하는루틴
17.2재귀문
17.3goto문
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.6IEEE표준
참고자료
요점정리

▣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전문가협회에가입

출판사 서평

프로그래밍에대한최고의실무지침서로널리알려진스티브맥코넬의≪CODECOMPLETE≫제1판은10년이넘는기간동안개발자들이더나은소프트웨어를만드는데이바지했다.이제이고전은소프트웨어구현에대한예술과과학을설명하기위해최신기법과수백개의새로운예제코드와함께개정됐다.

맥코넬은연구와학계,실무적인실천법에있는지식을바탕으로가장효과적인기법과반드시알아야할원칙들을이실용적인지침서에서종합적으로다뤘다.이책은여러분의실무경험이나개발환경,프로젝트의규모에상관없이유용한정보를제공하고여러분의사고를자극함으로써가장품질이뛰어난코드를작성하는데도움될것이다.

이책에서다음과같이세월이흘러도변함없이유용한기법과전략들을발견할수있다.
◎복잡성은최소화하고창의성은최대화하기위해설계한다
◎협력개발의이점을누린다
◎오류를줄이거나제거하기위한방어적인프로그래밍기술을적용한다
◎리팩토링하거나코드를개선할기회를활용하고안전하게수행한다
◎프로젝트에적합한구현실천법을적용한다
◎문제를빠르고효율적으로디버깅한다
◎치명적인구현이슈를초기에올바르게해결한다
◎프로젝트의시작단계와중간단계,마무리단계에서품질을확보한다