정리된 코드

기능 명세를 만족하는 것 외에 지속적으로 코드를 정리하면 얻을 수 있는 이점에 대해 고민


작업 환경 정리

  1. 생산성
    • 정리된 환경과 어지럽혀진 환경에서의 작업 생산성 차이
  2. 지속성
    • 작업 환경의 생산성이 일정 수준 미만으로 떨어지면 더 이상 그 환경에서 작업 진행은 불가능
  3. 코드는 작업 환경이자 작업 결과물


리팩터링

  • 수학에서의 factorization or factoring은 더 작거나 단순한 개체로 사용한다.
  • 프로그램의 Re-factoring 은 의미를 유지하며 코드베이스를 정리하는 것이다.


의미를 어떻게 유지할 것인가?

  • 테스트를 통해서 변경된 코드가 변경전과 동일한 기능을 지원하는지 검증


« 테스트 우선 개발 장난감 2 »


참고

패스트 캠퍼스 - The RED: 이규원의 현실 세상의 TDD: 안정감을 주는 코드 작성 방법.

TDD HandsOn