TOP

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

Feature Envy

Feature Envy(フィーチャーエンビー)

Feature Envyは、あるメソッドが自分のクラスよりも他のクラスのデータやメソッドを多用する場合に発生します。

兆候と症状 メソッドが他のクラスのフィールドやメソッドを頻繁に参照している。

問題の理由 責任の分担が適切でない場合や、機能が正しいクラスに配置されていない場合に発生します。

対処

  • Move Method」を使って、メソッドを適切なクラスに移動します。

効果

  • 責任の明確化
  • 保守性の向上


書籍としてはこの辺りが参考になると思います。

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