Bowling Game KataをPHPUnitでやってみた
皆さんは『Bowling Game Kata』ってご存知ですか?
http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata
ボウリングのスコア計算プログラムをテスト駆動開発(TDD)で実装するもので、自分は恥ずかしながら知らなかったのですが、つい先日知るきっかけがあり、使い慣れたPHPでやってみました。
まずは、上記サイトの文頭にあるHereリンクからパワポをダウンロード。RequirementsおよびQuick designまで読んで、いざ実装開始!
そのときのソースコードが下記で、
https://github.com/ttaka/the-bowling-game-kata
実装後に型を見ながらもう一度やってみました。
型をやった後に自己流を見てみると、概ね同じ実装ではありますが、リファクタリングが足りてないですね...orz
パワポには、TDDの流れが順を追って記載されていて、何が悪いのかやリファクタリングにいたる考えなどの丁寧なコメントがあり、とても素晴らしいドキュメントです。
やったことない人はもちろんのこと、昔やったけどもう忘れちゃった人は、ぜひお好みのプログラミング言語とテスティングフレームワークでチャレンジしてみましょう!