Java代码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代码,运行良好。然而,当我运行代码对PMD。一个方法应该只有一个退出点,并且应该是方法

中的最后一个语句。

谁能告诉我如何塑造这个代码,以便一个方法应该只有一个退出点,并且应该是方法中的最后一个语句这类代码的最佳实践是什么?

请分享你的经验。

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

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


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

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

但是如果你真的想安抚PMD,你可以这样做:

  • 声明一个布尔变量,即isValid,在你的方法的顶部
  • return true/false语句替换为isValid = true/false
  • 方法结束时,return isValid

相关内容

最新更新