- 作者: Kent Beck,和田卓人
- 出版社/メーカー: オーム社
- 発売日: 2017/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
旧訳(ピアソン)版をJavaで写経したことはあったけど、PHPではなかったので、正月に読んでいた。コードはGitHubに。
第Ⅰ部 他国通貨は完了。
第Ⅱ部 xUnitと付録B フィボナッチは気が向いたら写経しよう。
PHP で実装してみて
変数やプロパティの型宣言がないので、変更を省略した箇所が多い。 (ただしプロパティはPHP7.4で型宣言の機能が追加される予定(PHP: rfc:typed_properties_v2)なので、1年後はさらに型のエラーが利用できるはず) クラスをキャストするという概念もないので省略した。
HashMap に当たる機能が見つけられなかった。PHP: SplObjectStorage - Manualを利用してHashMap に近いものを実装しようかと思ったが写経の途中だったのでやめた。
assertEquals()
は型チェックをしてくれないし、 assertSame()
でオブジェクトの equals()
を使ってくれないので、assertTrue()
で
$this->assertTrue($five->times(2)->equals(Money::dollar(10)));
というふうに書いた。(第4章 意図を語るテスト by tenkoma · Pull Request #6など)