java - 写if语句时省略else有什么影响?

标签 java coding-style

我从一位前 Google 员工的博客中得到了一些信息。他说 Google 员工曾经有 Java 惯例 if情况是这样的:

if (condition) {
    return x;
} else {
    return y;
}

但后来在 Google 内部,它被改为这样:

if (condition) {
    return x;
}
return y;

似乎在SO上有类似或重复的问题(例如this one),我还检查了Oracle official Java Code Conventions为了这。我只是好奇它们之间的差异,即使它可以忽略不计。

我不是在寻找意见或人们喜欢什么,而是在寻找这里是否存在任何实际的、可辨别的差异,或者它是否真的只是风格问题。

最佳答案

我个人愿意选择

if (condition) {
    return x;
} else {
    return y;
}

无论有没有大括号,这对我来说都更具可读性。这些是 return 语句,因此可能没有太大区别。但假设它们只是陈述,如下例所示:

if (condition){
    //some statements
} else {
    //some related statements
}

随着时间的推移,此代码可能会导致如下所示的结果

if (condition){
    //some statements
} else {
    //some related statements
}
//some totally unrelated statements

在这种情况下,您可以清楚地区分哪些是受该情况影响的。将来,当你需要重构它时,可能会更容易。

正如您所见,这只是个人品味。我建议您咨询您的主管/架构师/同事,看看他们是否有偏好。作为一条经验法则,遵循团队的偏好比你自己的偏好更好。

关于java - 写if语句时省略else有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18050899/

相关文章:

java - XSLT 不向元素添加 XMLNS

java - Java中包私有(private)类的改进

java - Eclipse 命令行参数

java - 如何在heroku中找到webservice路径?

java - SetCellValueFactory 为 JavaFX TableColumn 中的数据对象

html - 通过 JavaScript 更改 <style> 元素的内容

python - 访问远程相关 Django 模型的最佳实践

javascript - JavaScript 的 eval() 什么时候不邪恶?

arrays - 什么时候应该使用Scala的Array而不是其他集合之一?

java - 按下一步显示下一条记录