허니몬의 IT 이야기/프로그래머, '코드 엔지니어'
채수원(http://blog.doortts.com/)님의 TDD 교육을 받고 와서, 마무리 짓지 못한 TDD로 자판기문제를 작성해보았다.

- 동전은 최소갯수로 반환한다.
- 500, 100, 50원 동전만 사용
- 지폐는 동전으로 반환하지 않는다.

짝 코딩(Pair Programming) 으로, 처음 대면한 분과 모니터를 바라보며 분석, 설계 와 코딩을 시작했다.
당시에는 서로 이런저런 이야기를 주고받으며 의견을 조율했지만, 서로가 생각하는(정확하게는 요구사항에 대한 인식) 바가 달라서 인지, 생각보다는 깔끔하게 정리되지 않았다. 처음으로 짝 코딩을 하면서(이전에도 알게모르게 해온 듯도 하다. 누군가의 코드를 봐주면서, 누군가에게 코드를 보여주면서 입력 중에 혹은 입력 중 생긴 오타나 오류에 대해서 찾는 작업을 해왔으니까) 이런저런 감흥을 지금에 와서야 느끼고 있다. ^^;

집에와서 다시 작성해본 ToDoList
- 입금된 금액을 저장한다. -> Ok
- 잔액을 보여준다. -> Ok
- 상품을 구매하면 입금액에서 상품액을 뺀 잔액을 보여준다. -> Ok
- 반환버튼을 누르면 잔액에 따라 1000, 500, 100, 50원의 잔액을 각각 반환한다. -> Ok
- 동전(500, 100, 50)은 최소갯수를 주도록 한다. -> Ok
- 반환 결과를 화면에 보여준다. -> returnMoney(); -> OK

<< 작성한 테스트코드 : TestVendingMachine.java >>

<< 작성한 자판기코드 : VendingMachine.java >>

TDD JUnit 통과





2 1
  • Favicon of http://playing.thoth.kr BlogIcon Playing 2010.08.27 14:28    

    안녕하세요 ~
    얼마전에 '인간 중심의 인터페이스' 라는 책을 봤었고, 충격을 먹었는데요
    (참고로 전 생물공학과 빛과 에너지 관련되어서 컴퓨터는 컴맹 수준보다 눈꼽만큼 나은 수준입니다 하하)

    그 책에 지금 하시려는 일과 연계된 부분이 있었던 거 같네요

    결국 하시려는 일의 목적이 사용자에게 맞추어졌다면.. 어떻게 해야 하는 지에 대한 글이었습니다
    혹시나 시간되시면 훑어보시면 관련 일을 하시니 바로 아실 거 같네요

    그 책에서는 지하철에서 표 관리를 하는 소프트웨어(하드웨어-실제 기계 포함) 소개했었습니다
    (현재 잘못된 현실 소개 - 바람직한 방향 제시)

    • Favicon of https://ihoney.pe.kr BlogIcon 허니몬 허니몬 2010.08.28 08:39 신고  

      +_+) 책을 참 많이 읽으시는 것 같아요. 블로그를 봐도 그렇고. ㅎㅎ.

      다양한 분야에 대해서 관심을 가지고 알려고 하시는 모습이 참 보기 좋네요. 추천해주신 책, 저도 한번 사서 읽어봐야겠습니다. ^^