『テスト駆動開発』
https://gyazo.com/507d4677888c64c609de352cedd6e117
2017年
原著
2002年
言語はJava
2017年のものが新訳版らしい
書評
I部→(IIを飛ばして)III部と読みたい気持ちがあるmrsekut.icon
この本ってどれぐらいOOPを前提とした内容だったっけ #?? 以前に2回ほど読もうとして挫折している
その時は手を動かして実装していたが、今回はそれを端折ってみる
以前はKotlinでちょっとやってた気がする
そもそもOOPをあまり書きたくないのと、実践を別でできるため。
OOPじゃない書き方で同じ例をやるというのもあるが、今のところ気が乗っていないのでやらない
まえがき
TDDの概要
第I部 多国通貨
第1章 仮実装
第2章 明白な実装
第3章 三角測量
第4章 意図を語るテスト
また、このようにテストを変更したことで、amountフィールドを使うのはDollarクラス自身だけになったので、フィールドをprivateに変更できる
これは本の進め方の都合で言っているのかマジで言っているのかどっちなんだろう
「どう使われるか」という責務はDollarの元々の仕様として明示されるべきで、「テスト(外部)で使われなくなったから」という理由で、この部分を変えるのはどうなんだろうという気がするmrsekut.icon
「そういう仕様」なのであれば、外部で使われていなくてもpublicにし続けるべき
つまり、「propertyをprivateにする」のは「当たり前」で、「テストのステップとして敢えて最初はpublicにしただけ」とも全然読み取れる
第5章 原則をあえて破るとき
第6章 テスト不足に気づいたら
第7章 疑念をテストに翻訳する
第8章 実装を隠す
第9章 歩幅の調整
第10章 テストに聞いてみる
第11章 不要になったら消す
第12章 設計とメタファー
第13章 実装を導くテスト
第14章 学習用テストと回帰テスト
第15章 テスト任せとコンパイラ任せ
第16章 将来の読み手を考えたテスト
第17章 多国通貨の全体ふりかえり
第II部 xUnit
第18章 xUnitへ向かう小さな一歩
第19章 前準備
第20章 後片付け
第21章 数え上げ
第22章 失敗の扱い
第23章 スイートにまとめる
第24章 xUnitの全体ふりかえり
第III部 テスト駆動開発のパターン
第25章 テスト駆動開発のパターン
第26章 レッドバーのパターン
第27章 テスティングのパターン
第28章 グリーンバーのパターン
第29章 xUnitのパターン
第30章 デザインパターン
第31章 リファクタリング
第32章 TDDを身につける
付録A 因果ループ図
付録B フィボナッチ
付録C 訳者解説:テスト駆動開発の現在
参考文献
あとがき
訳者あとがき
索引
著者・訳者について