채수원(http://blog.doortts.com/)님의 TDD 교육을 받고 와서, 마무리 짓지 못한 TDD로 자판기문제를 작성해보았다.
- 동전은 최소갯수로 반환한다.
- 500, 100, 50원 동전만 사용
- 지폐는 동전으로 반환하지 않는다.
- 500, 100, 50원 동전만 사용
- 지폐는 동전으로 반환하지 않는다.
짝 코딩(Pair Programming) 으로, 처음 대면한 분과 모니터를 바라보며 분석, 설계 와 코딩을 시작했다.
당시에는 서로 이런저런 이야기를 주고받으며 의견을 조율했지만, 서로가 생각하는(정확하게는 요구사항에 대한 인식) 바가 달라서 인지, 생각보다는 깔끔하게 정리되지 않았다. 처음으로 짝 코딩을 하면서(이전에도 알게모르게 해온 듯도 하다. 누군가의 코드를 봐주면서, 누군가에게 코드를 보여주면서 입력 중에 혹은 입력 중 생긴 오타나 오류에 대해서 찾는 작업을 해왔으니까) 이런저런 감흥을 지금에 와서야 느끼고 있다. ^^;
집에와서 다시 작성해본 ToDoList
- 입금된 금액을 저장한다. -> Ok
- 잔액을 보여준다. -> Ok
- 상품을 구매하면 입금액에서 상품액을 뺀 잔액을 보여준다. -> Ok
- 반환버튼을 누르면 잔액에 따라 1000, 500, 100, 50원의 잔액을 각각 반환한다. -> Ok
- 동전(500, 100, 50)은 최소갯수를 주도록 한다. -> Ok
- 반환 결과를 화면에 보여준다. -> returnMoney(); -> OK
- 잔액을 보여준다. -> Ok
- 상품을 구매하면 입금액에서 상품액을 뺀 잔액을 보여준다. -> Ok
- 반환버튼을 누르면 잔액에 따라 1000, 500, 100, 50원의 잔액을 각각 반환한다. -> Ok
- 동전(500, 100, 50)은 최소갯수를 주도록 한다. -> Ok
- 반환 결과를 화면에 보여준다. -> returnMoney(); -> OK
<< 작성한 테스트코드 : TestVendingMachine.java >>
<< 작성한 자판기코드 : VendingMachine.java >>
TDD JUnit 통과
'허니몬의 IT 이야기 > 프로그래머, '코드 엔지니어'' 카테고리의 다른 글
[개발자의 네가지 보물] : Something Four (10) | 2011.05.01 |
---|---|
새로운 프로젝트를 시작하다. (0) | 2011.04.13 |
현재 전자정부 표준 프레임워크 교육 중. (0) | 2010.08.17 |
초급 개발자가 사용할 수 있는 패턴 목록 - 프로그래머의 길, 멘토에게 묻다 中 (6) | 2010.08.15 |
JCO, 한국 자바 개발자 페스티벌, 자바 개발자라면 오라!! (2) | 2010.06.22 |