关于“条件”方法的返回样式是否存在一般性争论?

时间:2014-11-26 10:16:34

标签: java coding-style

我在这两种风格中看到了很多方法:

1.
void foo() {
  if(!good) {
    return;
  }
  doFoo();
}

2.
void foo() {
  if(good) {
    doFoo();
  }
}

我想知道这只是一个品味问题,还是一个实际上比另一个好。有谁知道有关于此的任何证据? (样式检查规则,书籍等) 我主要想的是用Java编写的代码。

4 个答案:

答案 0 :(得分:2)

取决于项目团队的代码风格规则。

如果if语句检查方法合同我更喜欢fast fail方法。

答案 1 :(得分:0)

我相信它全部取决于你的程序逻辑和要求。在你的第一个例子中,只有在你的if条件不满足时才会调用doFoo(),而在你的第二个选项中,如果满足条件,则会调用doFoo()。

你可以阅读java程序员的编码约定,这是非常好的http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

答案 2 :(得分:0)

在这两者之间,第二种选择是更好的恕我直言。如果有更多if-else个分支,最终可能会出现多个return语句,导致代码难以导航(在大多数情况下,但有时它会对您的代码产生影响)。

答案 3 :(得分:0)

第一个变体处理额外的嵌套。这取决于项目的代码样式约定和方法逻辑。 我建议你阅读Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin