0

凝集度メトリックの背後にある仮定は、メソッドが同じクラスレベルの変数で機能する場合、メソッドは関連しているということです。メソッドがまったく異なる変数で機能する場合、メソッドは無関係です。まとまりのあるクラスでは、メソッドは同じ変数セットで機能します。まとまりのないクラスでは、さまざまなデータに対して機能するメソッドがいくつかあります。

メトリックでは、インスタンス変数、フィールドへのアクセスを共有するメソッドのペアの数が、そうでないペアから差し引かれます。

しかし、単純に計算を実行して値を返すメソッドはどうでしょうか? 私はそれらをたくさん持っていますが、インスタンス変数を共有していないため、それらを分離することをお勧めしますが、これは意味がありません。

4

1 に答える 1

0

しかし、単純に計算を実行して値を返すメソッドはどうでしょうか?

あなたが参照しているこれらの種類のメソッドは、ユーティリティ (別名ヘルパー) メソッドと呼ばれ、通常、OO 設計の観点からはコードの匂いと見なされます。次の記事では、ユーティリティ メソッドのトピックについて詳しく説明し、リファクタリングされた代替手段を使用した例示的な例を示します。

おそらく、静的コード分析ツールはユーティリティ クラス (ユーティリティ メソッドのみを含むクラス) を認識せず、クラス内の間違ったメソッドに対して提供されるのと同じヒントを提供します。ユーティリティ クラスの各メソッドを個別のクラスに移動することは、いくつかの基準に基づいて既にメソッドをグループ化していると仮定すると、あまり意味がありません。

設計を再検討し、ユーティリティ メソッドの使用を排除することをお勧めします。何らかの理由でこれが実行できない場合は、元のユーティリティ メソッドのグループを維持してください。

于 2016-05-15T09:11:34.173 に答える