TOP

このエントリーをはてなブックマークに追加

リファクタリング技法

ここではCode Smellを解消するために参考となるリファクタリング技法や、その他参考になりそうな概念を紹介していこうと思います。

リファクタリングに関してはこの辺りの書籍が参考になると思います。


リファクタリング第2版
refactoring
レガシーコード改善ガイド
legacy_code

関連するリファクタリング技法

Moving Features between Objects

Moving Features between Objects

Hide Delegate

Hide Delegate

オブジェクトAを介してオブジェクトBを取得したのち、オブジェクトBのメソッドを呼び出しているような場合、クラスAに新しいメソッドを追加し、そのメソッドがオブジェクトBのメソッドを呼び出すような形にしましょう(=委譲(delegate))。こうすることで、クライアントはオブジェクトBの詳細について知る必要がなくなり、依存性を排除できます。

AとBは下の図でいうと、

  • A:Person
  • B:Department

【リファクタリング前】
img01
このページより抜粋


【リファクタリング後】
img02
このページより抜粋


関連するCode Smell