로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
고객님 안녕하세요!
강컴 회원만의 특별한
서비스를 경험하세요!
로그인  |  회원가입
추천 블로거
heatgone
...
구피
우연히 들른 서점에서
책을 훔치다..
공구리
서평보기
Test Driven Development : By Example
Kent Beck | Addison-Wesley Professional | 원서 | 2002-11-18
종합평점
도서수준
[Review] 파격 그자체.. 2003-06-21 오전 1:25:59 
평점
도서수준
조회수 (1278)
공감 (0)
김진회 님의 블로그
"테스트를 통해서 구현을 완성한다."
어떻게 보면, 상당한 어패가 있는 듯한 이 개발기법을
이 책에서는 소개하고 있습니다.

마틴 파울러의 "Patterns of Enterprise Application Architecture"와 같이
Signature 시리즈의 하나인 켄트벡의 저서입니다.

구성은 Test-Driven Development (이후 TDD)을 예제 중심으로 설명하는 방식입니다.
Part1. 은 Money 애플리케이션을 예제로 테스트 중심으로 구현하는 과정은
차근차근 제시하고 있고,

Part2. TDD에 관련된 패턴 및 리팩토링을 소개하고 있습니다.

이 책 한권 내내 TDD에 관해서, 설명을 하고 있지만,
우선 기본적으로 필요한 지식과 환경이 있습니다.

먼저 패턴에 대한 기본적인 지식이 있어야 합니다. TDD로 애플리케이션을 구성을
하지만, 완성도 높은 애플리케이션을 작성을 하려면, 패턴을 숙지하고 있어야 합니다.

두번째, 리팩토링에 대한 기본적인 지식이 있어야 한다. TDD에서 리팩토링은
하나의 필수 과정입니다. 리팩토링을 모르는 상태에서 이 책을 읽는다는 건
확실히 무리가 있다는 것을 먼저 말해드립니다.

세번째, 리팩토링을 위한 툴이 있으면 편합니다. 리팩토링이란 게 코드를 계속 수정
해서, 좀더 올바른 코드를 만드려는 과정이므로, 코드 수정 과정을 피할 수 없습니다.
그러므로, 좀더 편하게 리팩토링을 할 수 있는 툴이 있다면 편하겠죠?
그래서, 기본적인 리팩토링 기법을 제공하는 이클립스를 권해드립니다.

네번째, JUnit에 대한 기본적인 지식을 가지고 있어야 합니다.
켄트벡이 만든 JUnit 프레임워크을 TDD에서 기본적으로 이용하고 있으니,
사전에 꼭 알고 있어야 있어야 합니다.

TDD는 과정은 매우 간단합니다.
1. 해야할 일을 리스트로 작성
2. 테스트 작성
3. 실행
4. 테스트 실패
5. 테스트가 성공하도록 임시 파라미터 작성 및 필요 클래스 작성
6. 중첩되는 코드 등 잘못된 코드를 리팩토링
7. 위 과정 반복...

이 과정을 반복함으로서 애플리케이션 개발을 하는 것이 TDD의 모든 것입니다.
단순하죠?

그렇지만, 기존 사고 방식의 틀을 깨고, TDD의 효용성을 깨닫는 과정이
어려운 것 같습니다. 사실 기존의 자신의 방법을 버린다는 게 어려운 거겠죠?

게다가 이 책의 맨 마지막에 제시하듯이 TDD로
작성하기 힘든 애플리케이션도 많이 있습니다. (개인적으로는 TDD는 조금 이상적인
개발기법이 아닌가 생각됩니다..)
이러한 문제들이 모두 해결되지 않는한, 조금 납득하기 힘들겠죠?

그래도, 다 읽고 나서, 조금 눈이 트인 느낌이 들었습니다.
예전 개발기법으로는 점차 디자인이 발전하는 것이 아니라,
엉망이 되어가는 느낌이 들었는데, 스파게티 식으로....

TDD를 사용하면, 조금씩 이나마 내가 만들고 있는 애플리케이션이
향상되고 있는다는 느낌이 갖게 되었거든요.

마지막으로, 이 책을 개인적으로는 상당히 재미있게 읽었는데, 조금 어려웠던 점이...
켄트벡님의 어투가 원래 그러한 것인지..
제 독해 실력이 떨어지는 것인지..
무슨 말인지 알수 없는 부분이 꽤 많았습니다.
전체적으로 객관적으로 설명하는 느낌보다는...
딱 그말이 어울리네요. 시골 학교 아이들 가르치는 나이든 선생님의 어투..
아님 교주의 말투..-_-;;
얇은 책이라 금방 읽을 수 있을거 같았는데,
꽤 힘들었습니다.

TDD가 무엇인지 알고 싶은 분..
꼭 한번 읽어보라고 강력 추천합니다.
다만, 제가 말씀드린 몇가지 조건을 만족하시는 분만...



 
코멘트 0   공감 0
코멘트작성
 
이메일주소수집거부