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,它恰好更短,也很好。感谢链接。不幸的是,这是非常基本的,所以没有告诉我的问题。