重複したコード
同じようなコードが2か所以上で見られる
対処法
同一クラス内の複数メソッドで同じ式がある
→メソッドの抽出
重複したコードが兄弟クラス間で見られる
重複部分が完全に同一である
→両方のクラスに対してメソッドの抽出
→メソッドの引き上げ
重複部分が似通っている
→メソッドの抽出で共通部分とそうでない部分を分離
→Template Methodの形成 or アルゴリズムの取り替え
まったく関係のない2つのクラス間で重複したコードが見られる
→一方のクラスにクラスの抽出を行う。委譲する。
#コードの不吉な臭い