Java 真的需要混淆声纳中的三元规则吗?

Java 真的需要混淆声纳中的三元规则吗?,java,sonarqube,Java,Sonarqube,我写我的java代码 if(x !=null){ // Do something } else { // Do something } 然后声纳库贝发出违规信号。是否确实需要该规则来混淆三元数?根据您提供的规则,该规则规定: 在三元表达式中,在测试中避免否定。例如,将:“(x!=y)?diff:same”改为:“(x==y)?same:diff”。一致使用此规则使代码更易于阅读。此外,这还解决了一些琐碎的排序问题,例如“错误案例是否优先?”或“常见案例是否优先?” 将规则命名为

我写我的java代码

if(x !=null){
    // Do something
}
else {
    // Do something
}
然后声纳库贝发出违规信号。是否确实需要该规则来混淆三元数?

根据您提供的规则,该规则规定:

在三元表达式中,在测试中避免否定。例如,将:“(x!=y)?diff:same”改为:“(x==y)?same:diff”。一致使用此规则使代码更易于阅读。此外,这还解决了一些琐碎的排序问题,例如“错误案例是否优先?”或“常见案例是否优先?”

将规则命名为“混淆三元规则”可能有点混淆,因为您拥有的是一个正则if-else构造,而不是三元表达式。但是,由于
?:
可以被认为是if-else语句的简写,因此您也可以在这里应用该规则


这有意义吗?就我个人而言,我认为绝对如此。但是,如果它不适用于您(或您的公司)的编码风格,因此,您会遇到许多违规行为,我宁愿删除或修改该规则。正如参考文献所说:一致性很重要。

这是必需的,因为这是不必要的,会在第一眼看到时造成混乱

e、 g


这段代码看起来不像三元代码,为什么这条规则甚至适用于它呢?请参考链接。你能不能让你的问题更清楚一些,因为你在这里谈论的是分析java代码,但随后又参考了codenarc中适用于Groovy的一条规则!请指定触发您提到的问题的规则密钥。请明确说明您是在分析java还是groovy代码。
if(reporters username is not oliver)
   say it's stackoverflow's concern
else 
   say it's oliver's concern