处理空条件(在声纳中更改此条件,使其不总是评估为“假”)

Posted

技术标签:

【中文标题】处理空条件(在声纳中更改此条件,使其不总是评估为“假”)【英文标题】:Handle null condition (In sonar Change this condition so that it does not always evaluate to "false") 【发布时间】:2016-11-25 23:47:37 【问题描述】:
public boolean validateEmployeeRequestForm(String empCode) 
           if ( null == empCode ) 
                return false;
            
           return true;
    

在第二行if ( null == empCode ) 它给了我Sonar 下面的异常。

更改此条件,使其不会总是评估为“假”。

如何处理?

【问题讨论】:

如何/在哪里调用该方法? 'validateEmployeeRequestForm' 可能永远不会将'null' 作为参数?你考虑过空字符串吗? 你在调用它之前是否真的为该参数设置了一个值?这是您正在评估的实际代码,还是只是“看起来像”? 我认为更大的问题是如果 if 条件失败,该方法不会返回 any 值。 @TimBiegeleisen 可能看起来如此,但不是。这段代码不会编译,所以声纳不太可能看到它 @Stultuske 是的,我希望这甚至无法编译。 【参考方案1】:
public boolean validateEmployeeRequestForm(String empCode) 
       return empCode != null;

【讨论】:

以上是关于处理空条件(在声纳中更改此条件,使其不总是评估为“假”)的主要内容,如果未能解决你的问题,请参考以下文章

声纳误报,“改变条件,使其并不总是评估为真。”

更改此条件,使其不总是评估为“真”

如何避免“更改此条件,使其不总是评估为“假””

“更改此条件,使其不会总是评估为假” - SonarQube

为啥空的 JavaScript 数组在条件结构中评估为真?

声纳 - 如何跳过新代码的条件覆盖