Test Driven Development (TDD). 한국어로는 테스트 주도 개발
이걸 왜 할까요?
일단 결론은 "해보면 안다" 입니다.
뭐 구글 검색하면 이것 저것 많이 봐도 역시 실제 해보기전엔 모르는 일입니다.
그래서 해보니까 좀 알게 됐던 것이 다음과 같습니다.
1. 테스트 코드를 먼저 짠다는게 어떤 느낌인지.
-> 어떤 결과가 나와야 할지 생각해보고 짜니 훨씬 구현이 빨라지는 느낌이였습니다.
그래서 그런지 테스트 코드 짜는게 구현보다 길어졌습니다.
2. 테스트 코드 짜는건 매우 오래 걸리고 인내심이 필요하다.
-> 그냥 냅다 구현해버리고 싶은 욕구를 참야아합니다.
테스트 코드 짜다가 중간에 구현에 빠져 헤매다가 다시 테스트 코드로 돌아오면
원래 있던 테스트 코드가 통과가 안되거나, 구현내용과 맞지 않아서
다시 테스트 코드를 짜느라 시간을 땅에 내다 버리게 됩니다.
설계를 일단 잘 해놓고, 가능한 테스트 코드를 정밀하게 짜놓은 다음에, 그걸 바탕으로 구현하는게 매우 중요하다 느껴 졌습니다.