1

私は、LCOM と Eclipse のプラグイン Metrics で忙しくしています。クラスの結束の欠如を手動で計算し、それをメトリクスの結果と比較する必要があります。しかし、このプラグインは 1/3 の LCOM を返します。LCOM が有理数になるにはどうすればよいですか?

と言われたことがあるので、

P := 異なるメソッドのペアの数

Q := 類似したメソッドのペアの数。

if P>Q 
then LCOM = P - Q 
otherwise LCOM = 0

この方程式は正しいですか?または私のプラグインが誤動作していますか?

4

1 に答える 1

0

使用できる LCOM メトリックがいくつかあるため、そのプラグインで使用されるものを参照していないと推測できます。たとえば、これらはndependで使用されるメトリックであり、どちらも有理数です。

  • LCOM = 1 – 合計 (MF) / M*F
  • LCOM_HS = (M – sum(MF) / F) (M-1)

どこ:

  • M はメソッドの数です (コンストラクターだけでなく、静的メソッドとインスタンス メソッドの両方がカウントされます)。
  • F はインスタンス変数の数です。
  • MF は、特定のインスタンス フィールドにアクセスするメソッドの数です。
  • Sum(MF) は、クラスのすべてのインスタンス フィールドの MF の合計です。

(情報源: ndepend.com )

于 2014-01-24T13:45:47.580 に答える