我有一种方法,其中有一个if else条件。 if-else看起来类似于下面的内容。
public void agreementCoduct(String agreement) {
if(agreement.equals("Pass")) {
{ //do someting
return; // getting Remove this Redundant Jump
} else if(aggrement.equals("NotPass")) {
// do something
return; // getting Remove this Redundant Jump
} else {
// do something
return; // getting Remove this Redundant Jump
}
}
我正在运行Sonarqube来检查代码质量。它显示消息“删除此冗余跳转”。 。我想知道如何删除这个Code的味道并仍能实现我想要的效果。因为这是无效方法所以返回;应该工作正常吗?
return语句无效,因为if-elseif-else块后面没有任何代码。如果删除return语句,则代码将保留匹配的if-block并在方法结束时返回。
只有第一个if-elseif-else块的计算结果为true才会被执行。
void-method最后有一个隐含的“return”语句。
这是多余的,因为在最后一次之后你没有做任何事情。
这些return
语句是多余的,因为您正在使用if-else if-else
构造。这意味着任何一个块中的代码只会执行而其他块永远不会被执行,这就是你想要的。