お題のFizzBuzzをTDDのTODOリストに変換
お題文を最初のTODOリストにした
https://image.slidesharecdn.com/osh2014spritoftdd-140204072325-phpapp02/95/tdd-osh2014-42-638.jpg
TDDは徹頭徹尾分割統治(各個撃破)
面倒くさい(TODOリストに優先順をつける)
1から100までの代わりに、1からnまで(で100までと同じにする)-> nを決めるのは後回し
プリントするのテストはコストがかかる。書けても嬉しくない(目でチェックできる)-> 後回し
ビューのテストに通じる考え方
「プリントだけする」(テスト容易性が低く、重要度も低い)
code:記述を揃えたTODOリスト(テスト容易性が高く、重要度も高い)
- 3の倍数のときは数の代わりに「Fizz」に変換する
- 5の倍数のときは数の代わりに「Buzz」に変換する
- 15の倍数のときは数の代わりに「FizzBuzz」に変換する
テスト容易性が高いの3点
観測が容易である(プリントはこの点が低い)
制御が簡単
対象が十分小さい
ただしは通常ではない振る舞い(準正常系)
正常系は「数をそのまま文字列に変換する」
質疑より
『Clean Architecture』では入出力に近いとテスト容易性が低い(1:39:00)