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

+ Recent posts