誤用表現のリファクタリング

2004年1月3日

わずか数人しか知らなかった「リファクタリング」という用語は、現在、コンピューター業界で一般的に使用されています。私はこの用語の一部を自分が作ったものと捉えており、それが一部のプログラマーの生活やビジネスの最終収益を改善していることを願っています(重要な点は、私がリファクタリングの生みの親でも発明者でもないということです。ただの記録者です)。

しかし、「リファクタリング」という用語は、適切でない場合に使用されることがよくあります。もし誰かがリファクタリングのためにシステムが数日間壊れていると言っている場合、その人はリファクタリングをしていないとほぼ確信できます。誰かがドキュメントのリファクタリングについて話しているなら、それはリファクタリングではありません。これらはどちらも再構築です。

リファクタリングは、より一般的な再構築アクティビティを実行するための非常に特定のテクニックであると私は考えています。再構築とは、全体の一部を再配置することです。再構築を実行する方法を示唆しない、非常に一般的な用語です。

リファクタリングは、小さな動作保持変換(それ自体がリファクタリングと呼ばれる)を使用することに基づく、非常に特定のテクニックです。リファクタリングを行っている場合、システムは一度に数分以上中断されることはなく、明確な動作がないことについてはどのように行われているのか分かりません。

ここで負ける戦いをしていることに気づいていますが、リファクタリングの定義の正確さを維持したいと考えています。リファクタリングの定義には他にも優れた再構築テクニックがあるかもしれませんが、それらは異なります。この言葉を私たちが使用するときに何を意味するのかを明確にしたいと思います。