gpt4 book ai didi

java - 在方法开始时使用 return 是不好的编码习惯吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:52 25 4
gpt4 key购买 nike

我发现自己在使用以下练习,但每次使用它时我内心都会有些畏缩。基本上,这是对参数的先决条件测试,以确定是否应该完成实际工作。

public static void doSomething(List<String> things)
{
if(things == null || things.size() <= 0)
return;

//...snip... do actual work
}

最佳答案

最好尽早返回。
这样可以执行和评估最少量的代码。

不运行的代码不可能出错。

此外,它使函数更易于阅读,因为您不必处理所有不再适用的情况。

比较下面的代码

private Date someMethod(Boolean test) {
Date result;
if (null == test) {
result = null
} else {
result = test ? something : other;
}
return result;
}

对比

private Date someMethod(Boolean test) {

if (null == test) {
return null
}
return test ? something : other;
}

第二个更短,不需要 else 也不需要 temp 变量。

请注意,在 Java 中,return 语句会立即退出函数;在其他语言(例如 Pascal)中,几乎等效的代码 result:= something; 不会返回。
由于这个事实,在 Java 方法中通常会在许多点返回。
称这种不良做法是忽略了这样一个事实,即特定的火车在 Java 中早已离开车站。

如果无论如何要在一个函数的多个点退出一个函数,最好尽早退出

关于java - 在方法开始时使用 return 是不好的编码习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15527482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com