언제나 신중하게 작은 단계들을 밟아라. 더 진행하기 전에 피드백을 확인하고 조정하라.
독립적으로 확증하거나 반증하는 것이라면 모두 피드백이다.
단위테스트는 직전에 고친 코드에 대한 피드백을 준다
사용자 데모 및 사용자와의 대화는 기능이나 사용성에 대한 피드백을 준다.
너무 큰 작업은 무엇일까? '예언'을 해야 하는 모든 작업이다.
자동차 헤드라이트로 비출 수 있는 거리에 한계가 있는 것처럼 우리도 한두 단계 앞의 미래만 내다볼 수 있다.
미래에 어떤 기술을 사용할지, 미래 사용자가 어떤 요구사항을 할지 예측해서 개발하는 것은 너무 앞서 나간 예시라고 설명하고 있다.
단위테스트와 실제 사용자 피드백을 통해 오버엔지니어링을 조절할 수 있다고 말하는 것 같다.
예측해서 코드를 짜지 말고 교체 가능한 코드를 작성해야한다는 말도 인상이 깊었다. 현실은 시시각각 변화하기 때문에 쉽게 교체할 수 있도록 설계하는 것이 유지보수하기에 좋은 코드이다. 예시로 JSR 스펙에 기반해서 코드를 짜놓으면 다른 프레임워크로 교체할 때 수월해서 유지보수에 좋다. 또 다른 예시로는 Layered Arhcitecture 가 있을 것이고 인터페이스를 통해 구현체를 교체해서 사용할 수 있는 것도 있다.
'공부노트 > 개발서적' 카테고리의 다른 글
[실용주의 프로그래머] 5장. 구부러지거나 부러지거나 (2) | 2023.08.02 |
---|---|
[실용주의 프로그래머] Topic 26. 리소스 사용의 균형 (0) | 2023.08.02 |