【发布时间】:2015-12-20 09:49:37
【问题描述】:
我总是尽量避免嵌套语句。
他们引导我将代码放入长花括号中。当每个条件中的代码量变大时,代码变得难以遵循。
if(condtion) {
} else if(condition2) {
} else {
}
所以如果我有这样的代码:
void doSomething(){
if(condtion) {
return;
} else if(condition2) {
return;
} else {
return;
}
}
我总是将其更改为这种形式(我避免使用else,因为每个条件都有一个return 语句):
void doSomething() {
if(condtion) {
return;
}
if(condition2) {
return;
}
return;
}
但是有人告诉我我的有点难读,哪个更好?
【问题讨论】:
-
您的问题难以阅读。我们不需要这么多的垂直空白。我们中的一些人在移动设备上阅读 SO。
-
每一个用于不同的目的。您的代码发生了行为变化。他们不一样来决定哪个是最佳实践。
-
我是老派,我被教导每个函数/方法都应该有一个入口和出口点,为此,首选第一个。在
if-else if块中添加return语句可能意味着人们可能会错过它们,并且突然之间人们不知道发生了什么。最后一个可能使您难以理解您试图实现的关系和逻辑(恕我直言)。如果您的if-else块运行时间很长,请考虑补充方法if (condition1) { doSomethingImportant(); }的功能 -
@AndyTurner 我正在更新它
-
用多态替换条件逻辑,请阅读this
标签: java coding-style conditional