Test Driven Development: 실제 코드 짜기 전 단위 테스트부터 짜라. 1) 실패하는 단위 테스트 작성할 때 까지 실제 코드 짜지 않는다. 2) 컴파일은 가능하지만 실행이 실패하는 정도로만 단위 테스트 작성. 3) 현재 실패하는 테스트를 통과할 정도로만 실제 코드 작성. 이 규칙을 따르면 개발과 테스트가 대략 3초 주기로 묶인다. 테스트 코드와 실제 코드가 함께 나온다. 깨끗한 테스트 코드 유지: 테스트 코드가 지저분할수록 코드를 변경하기 어려워진다. 테스트는 유연성, 유지보수성, 재사용성을 제공. 테스트 케이스가 없다면 모든 변경이 잠정적인 버그다. 테스트 코드에서 가장 중요한 것은 가독성. Build-Operate-Check패턴. 첫 번째 부분은 테스트 자료를 만들고, 두 번째 부분은..