✏️2.2 두 개의 모자

소프트웨어 개발의 목적 기능 추가 or 리팩터링

🚀 기능 추가

  • 기존 코드는 건드리지 않고 새 기능을 추가하기만 한다.

  • 진척도는 테스트를 추가해서 통과하는지 확인하는 방식으로 측정한다.

🚀 리팩터링

  • 기능 추가는 절대 하지 않고, 코드 재구성만 한다.

  • 테스드도 만들지 않는다. (놓친 테스트 케이스를 발견한 경우에만 테스트를 수정한다.)

저자는 개발하는 동안 두 모자를 자주 바꿔쓴다고 한다. 새 기능을 추가하다 구조를 바꿀 때면 리팩터링을 하고, 다시 구조가 개선되면 모자를 바꿔 기능추가를 이어간다. 내가 쓰고 있는 모자가 무엇인지와 그에 따른 미묘한 작업 방식의 차이를 분명하게 인식해야 한다.

Last updated