어떻게 짰느냐고?
한 번에 깨끗하고 우아한 프로그램을 내놓는 것은 불가능하다.
-> 깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다.
코드가 돌아가는 것에 만족하지 않고 점진적인 개선을 해야 한다.
Args: 1차 초안
코드는 돌아가지만 엉망이다.
- boolean 인수만 지원하던 첫 버전은 괜찮았으나, 지원하는 타입을 추가하면서 코드가 복잡하고 엉망이 되어갔다.
-> 초기 코드에서 새 인수 유형을 추가하려면 주요 지점 세 곳에다 코드를 추가해야 했기 때문 - 따라서 기능을 추가하는 것을 멈추고 리팩토링을 시작했다.
-> 인수 유형을 다양하지만 모두가 유사한 메서드를 제공하므로 ArgumentMarshaler 클래스를 탄생시켰다.
점진적으로 개선하다
개선이라는 이름 아래 구조를 크게 뒤집는 행위는 프로그램을 망칠 수 있다. -> 개선 전과 똑같이 프로그램을 돌리기가 어렵기 때문.
=> 테스트 주도 개발(TDD)을 사용하면 시스템을 망가뜨리는 변경을 방지한다.
테스트를 먼저 짜 놓고 시스템에 자잘한 변경을 가한다.
'독서일지 > 클린 코드' 카테고리의 다른 글
클린 코드 독서일지 - Day 30 (0) | 2023.12.04 |
---|---|
클린 코드 독서일지 - Day 29 (0) | 2023.12.03 |
클린 코드 독서일지 - Day 27 (0) | 2023.12.03 |
클린 코드 독서일지 - Day 26 (0) | 2023.11.29 |
클린 코드 독서일지 - Day 25 (1) | 2023.11.28 |