タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

refactoringとmetricsに関するkiyo_hikoのブックマーク (1)

  • Feature Envy - Strategic Choice

    メソッドの浮気属性、操作の横恋慕どういうこと?メソッドが、自分の所属以外のクラスにやたらと関心を持っています。浮気対象はデータである場合が多く見られます。たとえば、何かの計算するために、他のオブジェクトのゲッターを大量に呼び出しているメソッドなどです。どうして?オブジェクトを使う意味は、データとデータに対する操作を1つのパッケージにまとめられることです。これを満たしていないプログラムは、変更に弱いプログラムになってしまいます。どうすれば?リファクタリングExtract Methodメソッドの抽出メソッドの抽出Move Methodメソッドの移動メソッドの移動Move Fieldフィールドの移動フィールドの移動ちなみにデザインパターンの中には、これらのルールを「確信犯的に」破っているものもあります。たとえばStrategyやVisitorなどです。ただし、これらはどれも「Divergent

    kiyo_hiko
    kiyo_hiko 2013/09/04
    GoFでは意図的に破っていることもあり、「基本となる考えは、変更に必要な部分を1か所にするということ」に着目してうまく設計したいということ
  • 1