在JArchitect和Metrics Reloaded中,LCOM始终为1



因此,我一直在研究设计模式,在单一责任原则的背景下,我试图使用Metrics Reloaded和JArchitect来计算Java中方法缺乏内聚性(LCOM(的问题。两个程序总是计算LCOM为1,尽管在某些情况下显然不是。即使是以下低内聚性的标准示例,在这些程序中的LCOM也为1:

package com.StyleM;
public class NumberManipulator {
private int number;
public int numberValue() {
return number;
}
public void addOne() {
number++;
}
public void subtractOne() {
number--;
}
}

据我所知,这个例子中的LCOM应该是1-(3/4(=0.25,因为总共有4个方法(包括构造函数(,其中3个使用数字字段。我做错了什么?

对于LCOM的计算,运算为:非相干对数-相干对数。在您的例子中,我们会说结果是0-3=-3
一般情况下,不出现负值是很常见的​​对于作为结果的LCOM,因此在作为结果的负数的情况下,我们说LCOM=0这是最优的。
关于程序的结果,我想说,它们只是有一个不同的计算实现。

相关内容

  • 没有找到相关文章

最新更新