这段代码的LCOM4值是多少?

时间:2013-04-05 22:51:39

标签: java sonarqube code-metrics

sonar documentation显示以下内容作为LCOM4 = 1的重构代码。但在我看来它应该是2,因为getFullName和{{1}之间没有凝聚力}} 即可。我错过了什么?

getFullAddress

1 个答案:

答案 0 :(得分:2)

好像你发现了文档问题!根据Freddy Mallet的说法,这不是LCOM4重构的一个很好的例子,并将被修复:

http://sonar.15.n6.nabble.com/Question-about-LCOM4-td5009876.html

一般来说,有一些数据结构不适合LCOM4算法,这在制定重构决策时很重要。 POJO和模板方法模式的具体实现是我发现属于这一类的两个例子。

在这个特定情况下,上面链接中的Mallet解释了这个特定bean被授予LCOM4 = 1,因为getFullAddress被认为是bean访问者,并且bean访问者被排除在LCOM4评分之外。