Java代码PMD抱怨,因为Method应该只有一个退出点

时间:2011-11-11 04:12:27

标签: java performance pmd

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。 方法应该只有一个退出点,这应该是方法

中的最后一个语句

你能告诉我如何塑造这些代码吗? 它遵循一个方法应该只有一个退出点,这应该是方法中的最后一个语句 这类代码中最好的prtacie是什么?

请分享您的经验。

1 个答案:

答案 0 :(得分:5)

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

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


更新:我们谈的是退出点。

首先,仅仅因为一个工具告诉你它不喜欢你的工作代码并不意味着它是对的而你错了。单/多出口争论历史悠久;两者都可能在某种程度上是正确的。换句话说,不修复未破坏的东西!

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

  • 在方法顶部声明一个布尔变量,即isValid
  • return true/false
  • 替换每个isValid = true/false语句
  • 在方法的最后,return isValid