TOP

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

Speculative Generality

Speculative Generality

兆候と症状
未使用のクラス、メソッド、フィールド、またはパラメーターの存在。

問題の理由
実装されない将来の機能をサポートするために、念のためにコードが作成されることがあります。その結果、コードの理解とサポートが難しくなります。

対処
使用されていない抽象クラスを削除するには、「Collapse Hierarchy」を試してください。

  • 不要な委譲処理は、「Inline Class」を介して排除しましょう。
  • 未使用のメソッドは「Inline Method」を使用して取り除きます。
  • 使用されていないパラメーターを持つメソッドは、「Remove Parameter」の助けを借りて見てください。
  • 未使用のフィールドは単純に削除できます。

効果

  • コードがスリムになります。

When to Ignore
フレームワークを開発している場合、フレームワークのユーザーがその機能を必要とする限り、フレームワーク自体で使用されていない機能を作成することは非常に合理的です。要素を削除する前に、それらがテストクラスで使用されていないことも確認してください。これは、テストクラスが対象クラスから内部情報を取得したり、テスト関連の特別なアクションの実行に必要な場合に発生します。



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

リファクタリング第2版
refactoring

レガシーコード改善ガイド
legacy_code