レガシーコードは癒着がひどすぎて保護できない場合が多い

「保護」できるテストとは

では、「保護」できるテストとは何でしょうか? それは「単体テスト」、それも「自動実行できる単体テスト」です。コードを変更した際の有益なテストとして、ぱっと思いつくのは「回帰テスト」であり、業務システムには用意されていることが一般的ですが、回帰テストだけでは十分ではありません。

http://codezine.jp/article/detail/4103?p=2

たしかにテストで保護することは大事だけど、
レガシーコードは、DBへの接続パラメータがハードコーディングされているだとか、1メソッドが2000行あるとか、システム時刻の取得が直接システムAPIを叩くようになっているとかで、とてもじゃないがそのまま保護できるような状態でない場合がある。

仮にそういったレガシーコードをそのまま保護しようとしたら、テストコード側が複雑怪奇になる。
こういった場合には出血覚悟で注意深くメスを入れて、癒着しているコードを引っぱがすしか対処のしようがない。

テストがあれば、多少の変更には耐えられるので、コードレビューの観点として、「いかにテストしやすくメソッドが分割されているか」という事を重要視している。