我从一位前 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/