Contents

Code Complete 목차

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.6 읽기 쉬운 짧은 이름
    • 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장: 특이한 제어 구조
  • 18장: 테이블 활용 기법
  • 19장: 제어와 관련된 일반적인 이슈

5부: 코드 향상

  • 20장: 소프트웨어 품질
  • 21장: 협력 구현
  • 22장: 개발자 테스트
  • 23장: 디버깅
  • 24장: 리팩터링
  • 25장: 코드 튜닝 전략
  • 26장: 코드 튜닝 기법

6부: 시스템 고려 사항

  • 27장: 프로그램의 크기가 구현에 미치는 영향
  • 28장: 구현 관리
  • 29장: 통합
  • 30장: 프로그래밍 도구

7부: 소프트웨어 장인정신

  • 31장: 레이아웃과 스타일
  • 32장: 스스로를 설명하는 코드
  • 33장: 개발자의 성격
  • 34장: 소프트웨어 장인정신에 대한 주제
  • 35장: 더 많은 정보를 얻으려면

results matching ""

    No results matching ""