14장 점진적인 개선, 15장 JUnit들여다보기,16장 SerialDate 리팩터링은 이전 내용을 기반으로한 예제 위주 챕터이다.
따라서 책으로 직접봐야한다.
17장 냄새와 휴리스틱의 소주제를 나열하는 것으로 책 요약을 마무리하겠다.
주석
C1 : 부적절한 정보
C2 : 쓸모 없는 주석
C3 : 중복된 주석
C4 : 성의 없는 주석
C5 : 주석 처리된 코드
환경
E1 : 여러 단계로 빌드해야 한다
E2 : 여러 단계로 테스트해야 한다
함수
F1 : 너무 많은 인수
F2 : 출력 인수
F3 : 플래그 인수
F4 : 죽은 함수
일반
G1 : 한 소스 파일에 여러 언어를 사용한다.
G2 : 당연한 동작을 구현하지 않는다.
G3 : 경계를 올바로 처리하지 않는다.
G4 : 안전 절차 무시
G5 : 중복
G6 : 추상화 수준이 올바르지 못하다
G7 : 기초 클래스가 파생 클래스에 의존한다
G8 : 과도한 정보
G9 : 죽은 코드
G10 : 수직 분리
G11 : 일관성 부족
G12 : 잡동사니
G13 : 인위적 결합
G14 : 기능 욕심
G15 : 선택자 인수
G16 : 모호한 의도
G17 : 잘못 지운 책임
G18 : 부적절한 static 함수
G19 : 서술적 변수
G20 : 이름과 기능이 일치하는 함수
G21 : 알고리즘을 이해하라
G22 : 논리적 의존성은 물리적으로 드러내라
G23 : If/Else 혹은 Switch/Case 문보다 다형성을 사용하라
G24 : 표준 표기법을 따르라
G25 : 매직 숫자는 명명된 상수로 교체하라
G26 : 정확하라
G27 : 관례보다 구조를 사용하라
G28 : 조건을 캡슐화하라
G29 : 부정 조건은 피하라
G30 : 함수는 한 가지만 해야 한다
G31 : 숨겨진 시간적인 결합
G32 : 일관성을 유지하라
G33 : 경계 조건을 캡슐화하라
G34 : 함수는 추상화 수준을 한 단계만 내려가야 한다
G35 : 설정 정보는 최상위 단계에 둬라
G36 : 추이적 탐색을 피하라
자바
J1 : 긴 import 목록을 피하고 와일드카드를 사용하라
J2 : 상수는 상속하지 않는다
J3 : 상수 대 Enum
이름
N1 : 서술적인 이름을 사용하라
N2 : 적절한 추상화 수준에서 이름을 선택하라
N3 : 가능하다면 표준 명명법을 사용하라
N4 : 명확한 이름
N5 : 긴 범위는 긴 이름을 사용하라
N6 : 인코딩을 피하라
N7 : 이름으로 부수 효과를 설명하라
테스트
T1 : 불충분한 테스트
T2 : 커버리지 도구를 사용하라!
T3 : 사소한 테스트를 건너뛰지 마라
T4 : 무시한 테스트는 모호함을 뜻한다
T5 : 경계 조건을 테스트하라
T6 : 버그 주변은 철저히 테스트하라
T7 : 실패 패턴을 살펴라
T8 : 테스트 커버리지 패턴을 살펴라
T9 : 테스트는 빨라야 한다.
'IT책, 강의 > 클린코드(Clean Code)' 카테고리의 다른 글
1장 깨끗한 코드 (0) | 2023.11.13 |
---|---|
다시 시작 (0) | 2023.11.10 |
13장 동시성 - 2 (1) | 2022.11.12 |
13장 동시성 - 1 (0) | 2022.11.08 |
12장 창발성 (0) | 2022.11.05 |