10
我有以下逻辑;SonarQube为lambda使用提供未使用的私有方法问题
..
if(list.stream()
.filter(MyClass::isEnabled)
.filter(this::isActive)
.count() > 0) {
//do smth
}
..
private boolean isActive(MyClass obj) {
return bool;
}
正如你看到的,被在流结构中使用isActive
方法,但是当我建立在詹金斯这个班,我从SonarQube未使用的私有方法的问题,它说你应该删除这个多余的私有方法。这是一个错误?如果没有,为什么他们还没有在分析结构中包含lambda逻辑?
显然,唯一的解决方案就是这么做;
.filter(obj -> isActive(obj))
,但它破坏了均匀性,甚至破坏了可读性(imo)。
奇怪。 Lambdas似乎没问题,因为它似乎接受了作为方法参考的“MyClass :: isEnabled”。尝试'className :: instanceMethod'路由,其中'className'是定义'isActive'的类的名称,即'instanceMethod = isActive'。 –