TDD Boot Camp 2020 Online #1 基調講演/ライブコーディング 生み出した本人による著作
ほかに『リファクタリング』『エクストリームプログラミング』『達人プログラマー』
TDDのサイクル
ToDoリスト
実装モードに入ったときに思い出せる
重要なもの、かつ、テスト容易性が高いとできる
twadaさんとFizzBuzzでペアプロできる(0:41:55〜)
小さなお題にして何周もサイクルを回す様子を見せる
4周目:明白な実装
5のケースを追加
3件成功・1件失敗 -> 予想通り!
状況はコントロールできている
コンディションがよい(不安がない・自信がある)
(『Clean Craftsmanship』のUncle Bobが上機嫌なのを思い出した)
前半デモのまとめ
問題を小さく分割する
歩幅を調整する
テスト -> 仮実装 -> 三角測量 -> 実装
テスト -> 仮実装 -> 実装(3の倍数)
テスト -> 明白な実装(5の倍数)
時間が経過して別の人がコードを読んだ
テストコードを読んでもわからないから実装を読む
ドキュメントとしてのテストコードになっていない(動作するドキュメントになっていない)
TODOリストに仕様があったが、コードに残らず、未来に伝わらなかった
TODO
正常系は補集合だった
動作するドキュメントとしてのツリー、かつ、メンテナンスコストが最小となるよう必要最小限
母語でテストを書くのをオススメ(日本語で情報共有してかまわない状況では)
JUnitのテストコードを動作するドキュメントにしている
テストコードは動く仕様書であってほしい
だんだんドキュメントに近づけていく
受け入れテスト(粒度大きい)から粒度小さいへとテストを書いていくやり方
https://youtu.be/Q-FJ3XmFlT8