TDD, CleanCode, Refactoring 1주차 정리
TDD - 프로그래밍 의사결정과 피드백 사이의 간극을 의식. 제어하는 기술
TDD는 분석기술이며 설계 기술이기도 하다.
TDD는 분석과 설계를 잘 해야 한다.
- TDD = Test First Development + Refactoring
- TDD는 테스트를 먼저 개발하는것이 주된 목적이 아니고 리팩토링이 주된 목적이다.
- 짧고 작은 단위의 설계를 지속하여 개발하는 방법.
-
한번에 모든걸 만들지 않고 작은 단위를 만들어 간다.
- TDD는 한번에 한가지 만 고민하여 기능을 우선 개발한다.
- 이후 개발된 기능을 바탕으로 refactoring을 진행한다.
-
이때 테스트 코드나 테스트 케이스는 추가되거나 수정되지 않아야 한다.
- 큰단위를 작은 단위로 나눠 빠르게 실패.
- 피드백을 통해 지속적 개선
- 달성하기 힘들 것으로 생각하는 일에 도전할 수 있는 용기
- 의식적인 연습이 필요하다.
- 학습테스트
- 단위테스트