public boolean validate(final Beanform[] bagdata) {
final int length = bagdata.length;
if (length == 4) {
return true;
} else if (length == 1) {
result = "length==1, Length should be greater than 1";
return false;
} else if (length == 3) {
if (bagdata[0].getCycleType() == null) {
result = "Cyclic Type is null for length==3";
return false;
}
}
return true;
}
嗨,
上面是一段java代码,运行良好。然而,当我运行代码对PMD。一个方法应该只有一个退出点,并且应该是方法
中的最后一个语句。谁能告诉我如何塑造这个代码,以便一个方法应该只有一个退出点,并且应该是方法中的最后一个语句这类代码的最佳实践是什么?
请分享你的经验。
你确定它没有说你的方法应该只有一个退出点吗?
您所展示的代码只有一个入口点,但有4个出口点。
更新:我们正在讨论退出点。
首先,仅仅因为一个工具告诉你它不喜欢你的工作代码,并不意味着它是对的而你是错的。关于单一/多个退出点的争论由来已久;两者在一定程度上可能都是正确的。换句话说,不会修复没有损坏的东西!但是如果你真的想安抚PMD,你可以这样做:
- 声明一个布尔变量,即
isValid
,在你的方法的顶部 - 将
return true/false
语句替换为isValid = true/false
- 方法结束时,
return isValid