2017-07-11 39 views
-4

希望得到一个简单的问题:我只是想知道是否有一个将多个语句放在else中或使用else-ifs的约定。那么,是不是通常最好使用else语句,以及它内部的语句,像这样:是否最好将语句放在else语句中或使用多个else-if语句?

if(r>0){ 

    return x; 

} else { 

    if(completed==false){ 

     return y; 

    } else if(started==true){ 

     return z; 

    } else{ 

     return xx; 
    }} 

,或者使用其他IFS,像这样:

if(r>0){ 

    return x; 

} else if(completed==false){ 

    return y; 

} else if(started==true){ 

     return z; 

}else{ 

     return xx; 

} 
+1

主要基于观点的问题在这里题外话 –

+0

我想知道是否有一个约定,因此使它不基于意见。 – Allball103

+1

但是,如果没有,我会删除它 – Allball103

回答

1

这主要意见为基础。不过,我相信这个:

if (condition1) { 
    // do stuff 
} 
else if (condition2) { 
    // do stuff 
} 
else { 
    // do stuff 
} 

比嵌套的if-else块更容易阅读和遵循。

编辑:

正如下面Porschiey指出,switch语句是优选的,以多个if/else语句。

switch (condition) { 
    case (a): 
     // do something 
    case (b): 
     // do something else 
} 
+0

多个相关的if-blocks可以更好地阅读并表示为switch/case语句。这就是为什么像Resharper或StyleCop这样的工具通常默认推荐你代表它们的原因。 – Porschiey