方法错误代码中有很多退货吗?

时间:2015-05-17 20:23:24

标签: java coding-style

我正在尝试优化并编写可能的最佳代码(就像任何开发人员一样)而且我一直绞尽脑汁试图弄清楚我写的这个特殊方法是不是很糟糕的代码。出于某种原因,我发现有多个return语句是坏的,而不是只有一个。然而,我没有任何坚实的文字说明这很糟糕。请告诉我这是不是坏代码

public boolean fooBar(int foo, int bar){
   if(foo == 3) {
     return true;
   }

   if(bar == 3) {
     return true;
   }

   System.out.println("foo or bar is not equal to three");
   return false;
}

我不是在寻求简化,我只是在寻找关于这是否是错误代码的一般想法,以及是否存在可能因此而产生的性能问题。

2 个答案:

答案 0 :(得分:1)

通常,每个方法都有一个return语句是一个好习惯。支持这一点的一些理由:

  • 您的方法有明确的流程,因为您不必跟踪多个退出点。
  • 源自前一个,明确的流程意味着更可测试的方法。您的单元测试可以轻松地跟踪并检查代码中的不同流程,从而导致单点退出;
  • 它更易于维护;

支持使用多个返回写入的一些参数:您更快地编写代码,不使用局部变量将返回值保持到最终退出点,您可以避免突破循环(如果您需要达到return语句),或者如果也没有突破,增强循环条件以考虑返回值作为退出标准的一部分。

答案 1 :(得分:1)

就个人而言,我会通过使用布尔逻辑来缩减冗余,但是您的代码通常是可以接受的。

public boolean fooBar(int foo, int bar) {
    if (foo == 3 || bar == 3) {
        return true;
    }
    System.out.println("foo or bar is not equal to three");
    return false;
}
相关问题