728x90
반응형
CHAPTER 14 점진적인 개선
명령형 인수 구문 해석기
코드 초안
- 모든 로직이 하나의 클래스에 들어가 있다.코드 완성본
- Args 클래스에서 코드 중복을 최소화하고 ArgsException 클래스를 분리했다.
- ArgumentMarshaller 클래스를 통해 여러 인수에 대한 추후 확장성을 만들어 놓는다.
- 코드만 분리해도 설계가 좋아진다. 관심사를 분리하면 코드를 이해하고 보수하기 쉬워진다.
점진적으로 개선하기
프로그램을 망치는 가장 좋은 방법 중 하나는 개선이라는 이름 아래, 구조를 크게 뒤집는 행위이다.
- 코드가 나빠짐을 느낄때 기능을 추가하지 않고 개선을 시작한다.
- 테스트 코드를 작성한다.
- 책임에 따라 클래스를 나누고 코드를 옮긴다. 테스트가 깨지지 않도록 확인하며 자잘한 변경을 조금씩 진행한다.
IDE 를 활용하여 점진적으로 개선하기
Extract Method : 메서드 추출하기
코드 블럭을 메서드로 추출할 수 있다.
Change Signature : 메서드 파라미터 추가, 삭제 및 변경
메서드의 파라미터를 추가하거나 변경할 수 있다.
Rename
Extract Variable
Extract Field : 멤버변수 추출하기
Extract Constant
Pull Members Up & Pull Members Down
하위 클래스의 메서드를 상위로 올리거나 상위 클래스의 메서드를 하위로 내릴 수 있다.
728x90
반응형
'clean code' 카테고리의 다른 글
| [클린코드] 공통관심사항(cross-cutting concern)과 AOP(Aspect Oriented Programming) (0) | 2022.06.29 |
|---|---|
| [클린코드] CHAP 13 동시성 (0) | 2022.06.13 |
| [클린코드] CHAP 12 창발성 (0) | 2022.06.13 |
| [클린코드] CHAP 11 관심사 분리 패턴들 (0) | 2022.06.13 |
| [클린코드] CHAP 10 클래스 (0) | 2022.06.13 |