『프로그래밍의 정석』에서 설명하는 프로그래밍의 정석에 관한 주요 정보의 출처와 관련 서적을 모두 읽으면 실력 향상에 많은 도움이 되겠지만, 초보자가 읽기 시작하면 몇 년이 걸릴 것입니다. 이 책에는 기술 서적만 800권 이상을 읽은 저자가 그중에서 핵심만을 추출하여 프로그래밍의 101가지 원리...
시작하며
0장 이 책을 읽는 방법
0.1 정석의 카테고리
0.2 정석의 설명 양식
0.3 정석 설명 상의 용어법
0.4 정석 설명 상의 주의점
1장 전제: 프로그래밍 불변의 사실
1.1 프로그래밍에 은제 탄환은 없다
1.2 코드는 설계서다
1.3 코드는 반드시 변경된다
2장 원칙: 프로그래밍의 가이드라인
2.1 KISS
2.2 DRY
2.3 YAGNI
2.4 PIE
2.5 SLAP
2.6 OCP
2.7 명명이 중요하다
3장 사상: 프로그래밍의 이데올로기
3.1 프로그래밍 이론
3.2 의사소통
3.3 단순함
3.4 유연성
3.5 결과의 국소화
3.6 반복의 최소화
3.7 로직과 데이터의 일체화
3.8 대칭성
3.9 선언형의 표현
3.10 변경 빈도
3.11 아키텍처 기본 기법
3.12 추상
3.13 캡슐화
3.14 정보 은닉
3.15 패키지화
3.16 관심의 분리
3.17 충족성, 완전성, 프리미티브성
3.18 정책과 구현의 분리
3.19 인터페이스와 구현의 분리
3.20 참조의 단일성
3.21 분할 정복
3.22 아키텍처 비기능 요구사항
3.23 변경 용이성
3.24 상호 운용성
3.25 효율성
3.26 신뢰성
3.27 테스트 용이성
3.28 재사용성
3.29 7가지 설계 원리
3.30 단순 원리
3.31 동형 원리
3.32 대칭 원리
3.33 계층 원리
3.34 선형 원리
3.35 명증 원리
3.36 안전 원리
3.37 UNIX 사상
3.38 모듈화의 원칙
3.39 명확성의 원칙
3.40 구성의 원칙
3.41 분리의 원칙
3.42 단순성의 원칙
3.43 절약의 원칙
3.44 투명성의 원칙
3.45 안정성의 원칙
3.46 표현성의 원칙
3.47 충격 최소의 원칙
3.48 침묵의 원칙
3.49 복구의 원칙
3.50 경제성의 원칙
3.51 생성의 원칙
3.52 최적화의 원칙
3.53 다양성의 원칙
3.54 확장성의 원칙
3.55 UNIX 철학
3.56 작은 것이 아름답다
3.57 한 번에 하나의 작업
3.58 즉시 프로토타입 진행
3.59 효율성보다 이식성
3.60 데이터는 텍스트로
3.61 레버리지 소프트웨어
3.62 셸 스크립트 활용
3.63 대화형 인터페이스 회피
3.64 필터화
4장 관점: 프로그래머가 보는 시각
4.1 응집도
4.2 결합도
4.3 직교성
4.4 가역성
4.5 코드의 구린내
4.6 기술적 부채
5장 습관: 프로그래머의 일상
5.1 프로그래머의 3대 미덕
5.2 보이 스카우트 규칙
5.3 성능 튜닝에 관한 금언
5.4 비자아적 프로그래밍
5.5 한 걸음씩 조금씩
5.6 TMTOWTDI
6장 기법: 프로그래머의 도구 상자
6.1 예광탄
6.2 계약에 의한 설계
6.3 방어적 프로그래밍
6.4 개밥 먹기
6.5 고무 오리
6.6 컨텍스트
7장 법칙: 프로그래밍의 안티패턴
7.1 브룩스의 법칙
7.2 콘웨이의 법칙
7.3 깨진 유리창 법칙
7.4 엔트로피 증가의 법칙
7.5 80:10:10의 법칙
7.6 조슈아 나무의 법칙
7.7 세컨드 시스템 증후군
7.8 수레바퀴의 재발명
7.9 야크의 털깎기
마치며
감사의 말
찾아보기