예제1처럼 짧다면 충분히 이해 가능하지만, 길어지면 하나의 인라인 함수도 이해하기 어려움.
프로그램에 기능을 추가해야 하지만 코드가 편리한 방식으로 구조화되어 있지 않다면, 먼저 프로그램을 리팩토링하여 기능을 추가하기 쉽게 만든 후, 그 기능을 추가해라.
예제1을 HTML로 명세서를 출력하려면 조건문을 추가해야 해서 함수가 복잡해짐.
대부분 메서드를 복사해 HTML 출력을 추가하지만, 향후 요금 로직 수정 시 두 메서드를 일관되게 업데이트해야 하는 문제가 생김.
프로그램이 더 이상 변경되지 않으면 복사-붙여넣기는 괜찮지만, 장기적으로 유지보수에는 중복이 위험함.
기능 요청은 단 한번에 오는 것이 아닌 무리 지어 들어옴
하지만 코드가 복잡해 이해하지 못하는 상황이 오면 문제가 생김