Java Checkstyle规则以避免非条件
我使用的是checkstyles,我想定义一个规则,比如如果有人在Java Checkstyle规则以避免非条件,java,eclipse,eclipse-plugin,checkstyle,Java,Eclipse,Eclipse Plugin,Checkstyle,我使用的是checkstyles,我想定义一个规则,比如如果有人在下使用而不是条件时显示警告,如果。。。否则…block。例如: if (!employeeNotExist) { // code } else { // code } 原因是它的好,只有积极的条件可读性 checkstyle下是否有现成的模块,或者需要为此编写一些自定义的checkstyle规则?我不认为此检查是在checkstyle本身中定义的,但您可以始终使用其中一个扩展插件,即,在这里可以找到您想要的内容: Ch
下使用而不是条件时显示警告,如果。。。否则…
block。例如:
if (!employeeNotExist) {
// code
} else {
// code
}
原因是它的好,只有积极的条件可读性
checkstyle下是否有现成的模块,或者需要为此编写一些自定义的checkstyle规则?我不认为此检查是在checkstyle本身中定义的,但您可以始终使用其中一个扩展插件,即,在这里可以找到您想要的内容: Checkstyle无法立即执行此操作。因此,如果您没有选择使用第三方库,您将不得不这样做。如果有什么安慰的话:这将是一个非常简单的定制检查案例
开箱即用的最好方法是像这样配置一个检查(在Eclipse CS中工作;子代令牌检查是复杂的低级检查,需要了解AST才能配置,有关更多信息,请参阅链接文档):
这种方法有点粗糙,因为它不会检测是否存在else
块,并且还会标记方法调用,例如if(!map.isEmpty())
。但它涵盖了您的if(!employeeNotExist)
案例。它还将标记条件,如!(a | | b)
,但这些可以重写为!a&&!b
因此,总而言之,它还远远不够完美,但这是开箱即用的Checkstyle最接近您的风格。我使用的是eclipse cs pluginThanks Thomas。你所说的误报是什么意思?误报是指支票报告问题,但实际上一切都很好的情况。相反,假阴性是指检查遗漏了一个问题。正如我在OP中所述,我只想标记else是否阻止if包含not运算符(我不想标记where if Wither包含not运算符),我也没有得到minimumDepth、maximumDepth、minimumNumber、maximumNumber的含义?如果你能举例说明这个术语,那会很有帮助。谢谢。这不会考虑任何<代码>其他<代码>块。我更新了答案以澄清问题。我的回答显示了无需定制检查即可实现的功能。我知道这不是你想要的解决方案,但这是你不用自己开支票就能做到的。这仍然有助于为手动检查运行提供基础。