TDDBC名古屋 2日目のレガシーコード改善について

振り返り

レガシーコード改善の大きな項目として、

の2点があると思います。

自分はRubyのレガシーコードを提供してたこともあって、Rubyチームに入ってました。
みんなでワイワイ言いながらテストを書いてるときには気づきませんでしたが、今になってちょっと気になることが出てきました。
それはリファクタリングする時間がまったくなかったことです。
みんながテストコードを書くので精一杯になっていたため肝心のレガシーコードを改善するところまでは到達出来ませんでした。
自分としてはTDDの1番大事なことは「黄金の回転」だと思っているのでリファクタリングまでできなかったことはちょっと残念でした。

どうすれば良かったか(自分なりに考えてみた)

テストコードを書く前に、チーム内で計画を立てたら良いと思いました。
ここでいう計画とはXPの計画ゲームとか、スクラムのスプリント計画よりももっと簡単に「黄金の回転」に沿った計画を立てながら進めたらどうかということです。

  • どういうテストを書くか
  • テストコードの継ぎ目をどこにするか
  • どこをリファクタリングしたいか

こんなことを最初にチーム内で話しあえば良かったのかもしれません。
本当はそういうふうに進めるのが和田さんの想いとしてあったのかもしれませんが、Rubyチームとしてはちょっとそれが欠けてたように思います。

カバレッジ100%のテストコードを書くことにこだわらずに、その先のリファクタリングまで最初に見通したうえで作業できると、もうちょっと先のビジョンまでみんなで話しあって共有できて良かったんじゃないかなと最近になって思ったりしてます。