あまぴょんと申します。
Hiroyuki Shimada wrote:
> 特に、リファクタリングとテストとの関係、つまりしっかりしたテストが用意
> されていればリファクタリングも怖くない、っていうあたりが面白かったです。
同感です。
> 会社に、もう仕様変更をしなくてもいいくらい枯れた VB のライブラリがあり、
> でもコードを読んでみるとまだリファクタリングの余地があります(ロジックと
> UI と DB アクセスと COM アクセスが一枚岩のように動作している関数群)。
> これを C++ に移植して DLL 化するという計画があがりました。ただし、関数
> のシグニチャは変えちゃだめ、変えたくない、バグが入り込むのが嫌だから、と
> いうのが多くの意見でした。VB 特有のコンポーネントを引数にしているものが
> あったりと、そのままでは C++ で DLL にできません。
> XP に従い、しっかりしたテストを書けば、安いコストでリファクタリングで
> きると思うのですが、そういうことは知られていないようです。VBUnit に限ら
> ず、テスト・コードというものも書かれていません。
リファクタリングの程度にもよりますが、こっちのメソッドをあっちのクラスに・・・
などのリファクタリングを行うと、テストコードもそれに合わせて変更しなくては
なりません。ですので、「安いコストで」というのにはあまり同意できません。
「恐くない」というのは同意いたします。
> テスト・コードを書いて、いつもプロジェクトといっしょに使えるようにして
> おくことがとても有用で、そうしてあればリファクタリングも恐れることはない
> んだよということを説得するのにいい方法ってありますでしょうか。
やって見せるというのが一番説得力があると思います。
自分のところでは、やり方が悪いせいか、あまり認めてもらえていませんが・・・