Java - return or if-else

2022-09-04 01:24:15

可能的重复:
一个函数应该只有一个 return 语句吗?

这就是我要说的。

if (condition) {
    aVariable = 1;
    return;
}
doSomething();

if (condition) {
    aVariable = 1;
} else {
    doSomething();
}

其中一个是否优于另一个(约定等)?


答案 1

尽早返回可以通过减少代码中的嵌套来提高可读性。

在某些语言中,最好使用单个 return 语句,例如,在C++中,您应该在方法的顶部分配,在方法的底部取消分配,但是 Java 不是这样的语言,因此比单个 return 语句更喜欢可读性。

许多人使用单一返回规则是因为他们不明白它存在的原因,或者因为他们具有托管语言的背景。

请注意:

在您评论编写代码的“一种真正方法”之前,请暂停片刻并考虑以下内容。

为什么必须只有一个退货报表?

如果你想不出一个好的理由,那就不要再争论应该这样了。


答案 2

可读性是最重要的。因此,函数开始的早期返回是可以的,但是一旦方法开始执行比检查其归因/对象状态更复杂的操作,它应该只有一个返回。

如果太复杂,应该重构为多个函数。