はじめに
こんばんは。
7/8 からテスト駆動開発の輪読会を行って、先週やっと終わりました。全7回でした。
第1回
第7回(最終回)
本題
第一部(多国通貨)は、例となるプロジェクトを、写経しながらTDDの体験が出来るようになってました。
第二部(xUnit)は、Pythonを使って実際にテスティングフレームワークを作成できるようになっていました。
第三部(テスト駆動開発のパターン)は、TDDを実践する上でのよく使うテクニックやパターンなどを紹介していました。
個人的には第一部の写経と、第一部に説明されていた文章がとても勉強になりました。
また、本の前半で書かれていた以下の文章もとても印象的でした。
TDDはテスト技法ではない。TDDは分析技法であり、設計技法であり、実際には開発のすべてのアクティビティを構造化する技法なのだ
ボク個人の印象としては 分析技法
というのが一番しっくりきました。
「先にテストを書いていくことがTDDだ」という勘違いが最近でも生じているかもしれませんが、この本の第一部をじっくり写経することで
そうではない。それはただの手段であって、TDDで開発する上での目的は別のものなんだ
ということに気づくことが出来ると思います。
どうしても最初は、いきなり実装からガッと書きたいなと思ってしまいますが、そこは経験値を積めば考えが変わってくるかもしれません。
また、第一部の写経を終えた後、輪読会メンバーで高速道路の料金算出ロジックを実際にTDDでモブプロする機会があり
「ここは明白な実装でいいだろ?」 「いや、ここは仮実装で堅実に行こう」
などワイワイ言いながら進められて、写経以外にも実りがある輪読会でした。
終わり
2017年に発売された本ですが、2020年現在でもとてもためになる良書でした。
また、コードはjavaで書かれていますが、内容は言語に寄らない情報だと思いますので、言語違いのアレルギーを出さず手を出してほしいです。
実際自分は第一部をphpで写経をしてました。
次は、レガシーコードからの脱却の輪読会が控えてます。
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
- 作者:David Scott Bernstein
- 発売日: 2019/09/19
- メディア: 単行本(ソフトカバー)
もっともっと勉強しないとなぁ...
現場からは以上です。