1. 첫번째 법칙: 실패하는 테스트 코드를 작성하기 전에는 프로덕션 코드를 작성하지 않는다.
2. 두번째 법칙: 실해하는 테스트가 수행되는 만큼만 테스트를 작성한다(컴파일될 만큼만).
3. 세번째 법칙: 현재 실패하는 테스트를 성공시키는 만큼만 프로덕션 코드를 작성할 수 있다. 그 이상은 안된다.
이러한 법칙을 따르면 개발자들은 어쩌면 30초 정도의 주기를 갖는 싸이클 작업을 하게 된다.
참 중요한 법칙 하나 더...
Quick & Dirty로 working 코드를 만드는 것이 끝이 아니다.
시간이 없어서 refactoring을 안하고 dirty 코드를 누적시키면 점점 더 시간이 없어질 것이다...
지금 시간이 없더라도 working 코드를 후에 변경/추가가 용이하도록 refactoring 해야 만 후에 시간이 남게 될 것이다.
Refactoring은 TDD/Agile에서 선택이 아닌 필수이다.
2. 두번째 법칙: 실해하는 테스트가 수행되는 만큼만 테스트를 작성한다(컴파일될 만큼만).
3. 세번째 법칙: 현재 실패하는 테스트를 성공시키는 만큼만 프로덕션 코드를 작성할 수 있다. 그 이상은 안된다.
이러한 법칙을 따르면 개발자들은 어쩌면 30초 정도의 주기를 갖는 싸이클 작업을 하게 된다.
참 중요한 법칙 하나 더...
Quick & Dirty로 working 코드를 만드는 것이 끝이 아니다.
시간이 없어서 refactoring을 안하고 dirty 코드를 누적시키면 점점 더 시간이 없어질 것이다...
지금 시간이 없더라도 working 코드를 후에 변경/추가가 용이하도록 refactoring 해야 만 후에 시간이 남게 될 것이다.
Refactoring은 TDD/Agile에서 선택이 아닌 필수이다.