태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

TDD: 켄트백아저씨가 쓴 책이지?

Tech 2009. 12. 29. 09:59
그냥 뒤적여만 보고 처음부터 끝까지 주욱 읽은적은 없었다.

손에 잡혀서, 이번에는 - 이라는 생각으로 한번에 끝까지 읽었다. 대부분이 '보여주기' 이기 때문에, 쉽게 따라갈 수 있어서 시간은 얼마 안들었다.

결과 ... 를 말하기 전에 일단 확실히 할 것:
  1. TDD와 Unittest는 다른거다
  2. 테스트 먼저 쓴다고 TDD는 아니다

그리고 결과:
  클린 코드는 테스트 주도적으로 만들어질 수'도' 있다.
  Clean code that works - 가 만들고 싶다는 켄트백 씨는, 한줄짜리 테스트로부터 짧은 싸이클로 코드가 변해가는 과정을 보여주었다. 아, 그래, Impressive. 하지만 그 뿐. 예를 위해 극단적으로 짧은 주기를 가져가긴 했지만, 그렇지 않은 경우라고 해도 분명 Pencil and Paper 로 시작하는 것이 Clean code that works 로 가는 지름길이라고 생각한다. (아, 그래 그냥 내 생각이 그렇다는 거다)

유닛 테스트 자체의 효용성과, 테스트 코드가 코딩 처음 단계가 된다는 아이디어, 테스트 추가-컴파일-테스트 통과-리팩토링 의 사이클 ... 대부분의 내용은 좋은 내용(이고 공감도 하는 내용)이긴 한데. Test-driven 에 대해서는 글쎼(?????). 예가 좀 구질구질해서 그런가 책이 보여주는 예제(특히 첫번째 currency) 자체가 TDD에 집착하다 말아먹기 - 그러니까 It passes the test, so it might work. But I can't tell why - 딱 좋아 보인다.

물론 켄트백 아저씨가 그런 건 아니겠지만, 의도했건 안했건 TDD는 꽤나 Dogmatic(적절한 한글/한자어 표현을 못찾겠다. 독단적인... 이랑은 쫌 뉘앙스가 다른데 ...)한 분위기로 쓰여 있어서 읽고 쉽게 집착하게 되는 책이다. Limitation이 이런게 있어 라고 말해주고는 있지만, 신경 안쓰고 집착하기 쉽다는 이야기. 그리고 그 집착이 묘-하게 꼬이기 시작하면 문제가 시작된다. 도구는 도구일 뿐, 집착하지 말자. - 내 얘기는 아니고 ...

경우에 따라선 잘 맞을 때도 있겠지 뭐 ... (경우에 따라선 안 맞는 때도 있겠지 - 라고 하지 않았다는데 주목)

Unittest의 적극적 도입 - 이 개발 프로세스를 획기적으로(정말 획기적으로!) 바꾸었다고는 생각하지만, TDD라는 방법론 자체는 도구의 하나로 제시된 것이고 - 패러다임 Shift 을 야기할 정도로 강력한 것은 아니었다, 라는 내맘대로 총평. 위에서 말했듯이 (Unittest의 적극적 도입 != TDD)

... ... ...

여담으로, 이미 위에서 들키긴 했지만 디군은 PP(Pencil and Paper) Driven Developement 에 집착하는 것 같은데, 역시나 이것도 꽤 곤란한 경우가 있는 것 같다. 근데 다른 집착과 마찬가지로 (알면서도) 쉽게 안고쳐진다. 쿨럭쿨럭 ---


'Tech' 카테고리의 다른 글

사용소감2: Google protocol buffer  (1) 2010.02.11
사용소감: Google protocol buffer  (4) 2010.02.04
TDD: 켄트백아저씨가 쓴 책이지?  (2) 2009.12.29
git/git-svn on working machine  (2) 2009.12.17
Links on xml and related techs  (1) 2009.12.09
SICP 근황  (8) 2009.12.01
Trackbacks 0 : Comments 2
  1. Favicon of http://etnalry.pe.kr etnalry 2009.12.29 11:16 Modify/Delete Reply

    Foot Driven Development가 최고!

Write a comment