[社内勉強会レポート] 『テスト駆動開発』読書勉強会 #4

2017.11.18

はじめに

こんぬづは、先日体調を崩してから、体力を回復するためにタバタ・プロトコル(20秒筋トレ、10秒休憩を複数セット繰り返す方法)で筋トレを開始した田中です。

さて本題に入っていきましょう。

この会の趣旨

この会の趣旨については、第一回のまとめをご覧ください。

それではまとめていきます。

10章 「テストに聞いてみる」

概要

timesメソッドの処理をDollarとFrancで同じものにして、親クラスであるMoneyに引き上げ、一般化した章。大切なことは、考えるよりもコードに落として、テストを実行した方が正解に至る時間が早くなることがあること。

話し合われた内容

  • レッドのときはテストを加えたりしないという原則論があることに気づく
  • レッドの原因になる変更をグリーンまで巻き戻すのがベター

11章 「不要になったら消す」

概要

サブクラスの責務を減らし、親クラスに一般化を続けてきたことで、サブクラスが不要になり、消せた章。サブクラスの存在によって生じていた不安を解消するためのテストを、サブクラス自体が不要になったことで消せるようになった。

話し合われた内容

  • 不要になった(重複する)テストは削除するのはいいが、Francの掛け算を消すという判断を実際にこの時点でするかな?という気付き

まとめ

10章、11章は少々込み入った印象を受けました。その理由は、自分にとって解説が丁寧「すぎる」ために、実際に自分がコードを書くときに思い浮かべるステップと歩幅がだいぶ違かったからだと思いました。もしかすると、自分が得意とする言語やエディタの機能では、問題としている部分が問題にならなくて、Javaで書かれているアプローチに共感ができなくなったからなのかもしれません。

とはいえ、文章のところどころに「読者の皆さんは読んでいて少し苛立ちを感じてしまうかもしれない。」という表現が出てきます。丁寧に解説することでより多くの人に意図が伝わるようになるから、という想いが表れている部分な気がして好感を持ちました。

実際に本を読んでいる方がこのエントリを読んで、参考になることがあれば幸いです。

関連