1
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代码,工作正常。但是,当我运行代码 aganist PMD 时。一个方法应该只有一个退出点,并且应该是方法中的最后一个语句

谁能告诉我如何塑造这段代码,以便它遵循一个方法应该只有一个退出点,这应该是方法中的最后一条语句在这种类型的代码中最好的方法是什么?

请分享您的经验。

4

1 回答 1

5

你确定它没有说你的方法应该只有一个退出点吗?

您显示的代码只有一个入口点,但有 4 个出口点。


更新:我们正在谈论退出点。

首先,仅仅因为一个工具告诉你它不喜欢你的工作代码并不意味着它是对的而你是错的。单/多出口点争论由来已久;两者在一定程度上可能都是正确的。换句话说,不要修复没有损坏的东西!

但是,如果您确实想安抚 PMD,您可以这样做:

  • isValid在方法的顶部声明一个布尔变量,即
  • 将每个return true/false语句替换为isValid = true/false
  • 在方法结束时,return isValid
于 2011-11-11T04:16:24.737 回答