'프로그래밍' 검색 결과 2건

  1. 2008/04/25 3시간 작업한 코드를 revert 하면서.
  2. 2008/04/23 테스트 주도 개발이란 (2)
퇴근 전 3시간 동안 작업한 코드를 revert 했습니다. 하지만 3시간 동안 쌓인 spec은 지우지 않고 남겨뒀어요.

남은(혹은 얻은) 것은?
  • 새 IE 버그에 대한 지식
  • 설계 인사이트
  • 각종 상황에 대한 예제들(spec)

잃은(혹은 버린) 것은?
  • 버그를 피하기 위해 adhoc하게 넣었던 지저분한 코드 몇 Kbytes

Bookmark and Share Trackback 1 | Comments 0

(이 글을 읽는 분들이 TDD를 이미 알고 있다고 가정하고 쓰겠습니다)

여러 가지 정의가 있지만 제가 제일 좋아하는 정의는 이거예요:
TDD is an awareness of the gap between decision and feedback during programming, and techniques to control that gap. --Test Driven Development by Example, p xxi

대충 번역해보면:
TDD란 프로그래밍 의사결정과 피드백 사이의 간극을 의식하고 이를 제어하는 기술이다.

풀어보면:
  • 프로그래밍을 하는 과정에서 일어나는 의사결정들(변수 이름을 이렇게 지어야지, 메서드를 짧게 만들어야 겠다, 커맨드 패턴을 적용해야겠다 등등)
  • 그러한 의사결정을 내린 후에 돌아오는 피드백(컴파일 에러, 버그, 깔끔한 코드, 금전적 손실 등등)
  • 그리고 이 둘 사이의 간극

이 세 가지를 잘 의식하면서 적극적으로 제어하려는 노력.

이게 테스트 주도 개발이라는 얘기입니다. 테스트 케이스를 만들었나 안 만들었나, 테스트를 먼저 했나 나중에 했나 하는 것은 실은 (달이 아니라) 손가락인거죠.

지인과 대화하다가 갑자기 생각나서 적어봤습니다. --;

Bookmark and Share Trackback 0 | Comments 2

< Newer     Older >