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

Java 关于“a”的返回样式是否存在一般性争论;有条件的;方法?,java,coding-style,Java,Coding Style,我见过这两种风格的很多方法: 1. void foo() { if(!good) { return; } doFoo(); } 2. void foo() { if(good) { doFoo(); } } 我不知道这只是一个品味的问题,还是一个比另一个好。有人知道这方面的证据吗?(样式检查规则、书籍等) 我主要考虑用Java编写的代码。取决于项目团队的代码风格规则 如果If语句检查方法契约,我更喜欢fast fail方法。我相信这一切都取决于您的程序逻辑

我见过这两种风格的很多方法:

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

2.
void foo() {
  if(good) {
    doFoo();
  }
}
我不知道这只是一个品味的问题,还是一个比另一个好。有人知道这方面的证据吗?(样式检查规则、书籍等)
我主要考虑用Java编写的代码。

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


如果
If
语句检查方法契约,我更喜欢
fast fail
方法。

我相信这一切都取决于您的程序逻辑和要求,在第一个示例中,只有当If条件不满足时才会调用doFoo(),在第二个选项中,当If条件满足时才会调用doFoo()


您可以阅读java程序员的编码约定,在这两者之间相当不错,第二种选择更好。如果有更多的
If-else
分支,您可能会得到多个
return
语句,这使得代码很难导航(在大多数情况下,但有时对代码有好处)。

第一个变体处理额外的嵌套。这取决于项目的代码样式约定和方法逻辑。
我建议您阅读

如果代码非常简单,那么没有太大区别。如果函数中嵌套了许多If/else,那么编写更少级别的嵌套If/else语句会更好。消极条件比积极条件更难理解,因此我选择选项2,它恰好更短,也很好。感谢链接。不幸的是,这是非常基本的,所以没有告诉我的问题。