13
外部動作を変更せずにリファクタリングをどこまでプッシュできますか?
Martin Fowlerによると、コードのリファクタリングは次のようになります(私の強調): リファクタリングは、既存のコード本体を再構築し、外部の動作を変更せずに内部構造を変更するための統制された手法です。その中心は、変換を維持する一連の小さな動作です。各変換(「リファクタリング」と呼ばれます)はほとんど行いませんが、一連の変換によって大幅な再構築が行われる可能性があります。それぞれのリファクタリングは小さいので、間違いが起こる可能性は低くなります。また、システムは小さなリファクタリングのたびに完全に機能し続けるため、再構築中にシステムが深刻に破損する可能性が低くなります。 この文脈における「外部行動」とは何ですか?たとえば、移動メソッドのリファクタリングを適用して、あるメソッドを他のクラスに移動すると、外部の動作が変更されたように見えますか? それで、私はどの時点で変更がリファクタリングでなくなり、さらに何かになるのかを知ることに興味があります。「リファクタリング」という用語は、大きな変更に誤用される可能性があります。別の言葉がありますか 更新。インターフェースに関する多くの興味深い回答がありますが、メソッドのリファクタリングを動かしてインターフェースを変更しませんか?
27
refactoring