リファクタリングが失敗する一番大きな原因

私がリファクタリングが失敗する一番の原因だと思うのは、テストコードがない状態でリファクタリングをすることです。

テストコードがない状態でリファクタリングをすることはかなり難しいです。

テストコードはテストをすることが目的ではありますが、それ自体がシステムの仕様書の役割を果たすこともできます。

どう動くのが正解でどうなったら失敗なのかをテストコードは教えてくれます。

リファクタリングをするときは事前にテストコードを準備してからをお勧めします。