case: コードの重複【リファクタリング】
同一クラス内の複数メソッドでの重複
「メソッドの抽出」を適用し、各メソッドの内部で抽出したメソッドを呼ぶようにします。
メソッドの抽出【リファクタリング】 - 技術向上
兄弟クラス間の複数メソッドでの重複
両方のクラスで「メソッドの抽出」を行い、「メソッドの引き上げ」を適用します。
もしコードが完全に同じではない場合は、「メソッドの抽出」によって同じ部分と異なる部分を明確にした後、
「Template Methodの形成」を試みます。
また、同じ処理を異なるアルゴリズムで実装している場合は、同じアルゴリズムを採用するようにします。
メソッドの抽出【リファクタリング】 - 技術向上
Template Methodの形成【リファクタリング】 - 技術向上