TOP

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

Data Clumps

Data Clumps

Data Clumps(データの塊)

兆候と症状 同一の変数グループ(データベースに接続するためのパラメーターなど)がコードの異なる部分に散らばっている場合があります。このData Clumpsは、独自のクラスに変換する必要があります。

問題の理由 多くの場合、これらのデータグループは、不十分なプログラム構造またはコピペプログラミングが原因です。 一部のデータがData Clumpsであるかどうかを確認したい場合は、データ値の1つを削除し、他の値が依然として意味をなすかどうかを確認します。意味をなさなくなった場合は、その変数グループをオブジェクトにまとめる必要があることを示す良い兆候です。

対処 繰り返しデータがクラスのフィールドで構成される場合、「Extract Class」を使ってフィールドを独自のクラスに移動します。 メソッドのパラメーターで同じデータの塊が渡される場合は、「Introduce Parameter Object」を使ってそれらをクラスとして設定します。 一部のデータが他のメソッドに渡される場合、個々のフィールドだけでなく、データオブジェクト全体をメソッドに渡すことを検討してください。「Preserve Whole Object」がこれに役立ちます。 これらのフィールドで使われるコードを見てください。このコードをデータクラスに移動することをおすすめします。

効果

  • ソースコードが理解しやすくなります。また、コードの構成が改善されます。特定のデータに対する操作は、コード全体で無計画に行われるのではなく、単一の場所に収集されるようになりました。
  • コードのサイズを小さくすることができます。



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

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