主なリファクタリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/11 11:35 UTC 版)
「リファクタリング (プログラミング)」の記事における「主なリファクタリング」の解説
メソッドを抽出する 長すぎるメソッドは再利用性が低い。メソッドを抽出、細分化することで再利用性が高まり、呼び出し側メソッドの記述も読みやすくなる。処理の重複も減る。 双方向関連を単方向へ変更する 不要な参照は管理のための手間を増やし、オブジェクトの破棄を失敗させる。不要になった関連は消す。 クラスの抽出 大きくなりすぎたクラスを分割する。クラスを小さくすることで、そのクラスの役目を明確にできる。 switch文をポリモーフィズムに置き換える switch文をポリモーフィズムに置き換えることで、新たな条件が追加されても分岐部分には変更の必要がなくなる。 メンバの移動 フィールドやメソッドが不適切なクラスにある場合、他のクラスとの余計な関連が増える。メンバを移動し、クラスの責任を整理する。 継承を委譲に置き換える 継承では基底クラスのすべてのメンバを、サブクラスに許さなければならない。基底クラスの一部だけの機能を利用する場合は、継承の代わりに委譲を使う。 ダウンキャストをカプセル化する ダウンキャストは互換性のない型に変換してしまう可能性があるが、それをコンパイル時に察知することは出来ない。総称型(テンプレート)がない言語では、カプセル化してクライアント側にダウンキャストの手間を減らすようにする。コレクションクラスなどでは特に必要。 コンストラクタをFactory Methodに置き換える コンストラクタはそのクラスのオブジェクトを返すことしか出来ない。Factory Methodの導入によって柔軟なインスタンス化が可能になる。 引数オブジェクトの導入 たびたび一緒に受け渡しされる複数の値は、オブジェクトとしてまとめたほうが分かりやすい。
※この「主なリファクタリング」の解説は、「リファクタリング (プログラミング)」の解説の一部です。
「主なリファクタリング」を含む「リファクタリング (プログラミング)」の記事については、「リファクタリング (プログラミング)」の概要を参照ください。
- 主なリファクタリングのページへのリンク