みなさん、ご参加ありがとうございました。
今回は TDD 回という事で @t_wada さんを招いての開催でした。
FizzBuzz を TDD でライブコーディング していただく中で色々な話題が出ましたね。
- 解るは後から。まずは手を動かす。
- 「動作するコード」と「きれいなコード」を切り分けて倒す
- https://t-wada.hatenablog.jp/entry/canon-tdd-by-kent-beck
- テスト容易性 -> 観測容易性 ・制御容易性 ・小ささ
- 表現を揃えると違いが浮き出る
- Humble Object Pattern
- 3A パターン -> 準備(Arrange)→実行(Act)→検証(Assert) -> 検証から書く
- テストコードのテストは実装コードでやる
- 三角測量 -> 違う観点のテストを追記して、プロダクトコードが動作するかどうかを測る
- テストコードを仕様書として読めるようにリファクタリング
- テストの実行結果を粒度を揃えたツリー構造として表現する
- 根拠のないテストかどうかは他人にはわからない -> 必要がなくなったテストは消す!
質疑応答の場面でもみなさん「現場で実際に直面している課題」を質問し回答を得られていたので非常に有意義な時間だったと思います。
少し古めの発表だそうですが、こちらの内容が今回の内容をほぼ網羅されてるようなので貼っておきます。
LT もやりました。
※ 流石の発表の後でのLTなので緊張しました。
https://gunmaweb.connpass.com/event/309951/presentation/
印象に残った懇談会での話題(みなさんの感想)を紹介します。
「まさか、まだ FizzBuzz を噛み締めて味が出るとは!」
「流石の発表でしたよね、すごい流れるようなライブコーディング!簡単にやってるようで中々出来ない」
「まだまだ知らない単語いっぱいあった。有意義な時間だった」
「和田さんの後ろの本棚リアルだった。質問されると、「この本がいいよ」と紹介される。すごい!」
「DB 側にロジック保存すると…確かに切り離してやるしかないか〜」
「あそこで、箇条書きにされたテストを構造体に何気なく持っていってるけど、中々あの壁を突破できる人が少ないよな〜」
etc…etc….(書ききれない)
本当に良い時間を過ごせました。あらためて @t_wada さん 参加されたみなさん、ありがとうございました!