1

我一直忙于 LCOM 和 eclipse 中的插件 Metrics。其中我必须手动计算一个类的缺乏凝聚力并将其与 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 回答