2016-05-15 4 views
0

結束メトリクスの背後にある仮定は、同じクラスレベルの変数で作業する場合、メソッドは に関連しているということです。異なる変数を扱う場合、メソッドは無関係です( )。結束クラスでは、 メソッドは同じ変数セットで動作します。非凝集性のクラスでは、 には、異なるデータで動作するいくつかのメソッドがあります。メソッドの結束 - 計算とヘルパー関数はどうですか?

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

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

答えて

0

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

あなたが参照しているこれらの種類のメソッドは、ユーティリティ(別名ヘルパー)メソッドと呼ばれ、通常、OO設計の観点からはコードの匂いとみなされます。次の記事では、ユーティリティメソッドのトピックについて詳しく説明し、リファクタリングされた代替の例を提供します。http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html

おそらく、静的コード分析ツールは、ユーティリティクラス(ユーティリティメソッドのみを含むクラス)を認識せず、あるクラスで誤ったメソッドがあるのと同じヒントです。ユーティリティクラスの各メソッドを別のクラスに移動することは、いくつかの基準に基づいてメソッドを既にグループ化していることを前提として、意味をなさないでしょう。

私はあなたのデザインを再訪し、ユーティリティメソッドの使用を排除しようとしています。 何らかの理由でこれが実現できない場合は、最初にユーティリティメソッドをグループ化してください。

関連する問題