If statement 我应该使用ELSE IF and ELSE还是尽可能避免它们?
我经常用条件分支编写函数,如下所示:If statement 我应该使用ELSE IF and ELSE还是尽可能避免它们?,if-statement,conditional,If Statement,Conditional,我经常用条件分支编写函数,如下所示: function f if(X) { do something minor; } else if(Y) { do something minor; } else { do a whole lot of stuff; } 我可以通过以下方式获得同样的结果: function f if(X) { do something minor; return; } if(Y) { d
function f
if(X) {
do something minor;
}
else if(Y) {
do something minor;
}
else {
do a whole lot of stuff;
}
我可以通过以下方式获得同样的结果:
function f
if(X) {
do something minor;
return;
}
if(Y) {
do something minor;
return;
}
do a whole lot of stuff
我喜欢第二种方法,它不需要我缩进大部分代码,但我不确定这是否是一种好的做法。由于没有遵循条件的通用代码,因此执行硬返回似乎是合理的。但是第一种风格似乎也有优点。我个人认为使用大量返回语句会降低代码的可读性 我经常对代码进行布局,以便函数的“主体”不必全部缩进,在您的例子中:
function f
if (X || Y) {
if (X) do something minor;
if (Y) do something minor;
return; // with comment explaining what we're doing
}
do a whole lot of stuff
第一,;现在,您应该使用一个编辑器来处理缩进 第二;有几个返回语句可能会让人困惑。一个功能一个退出点 第三;如果“很多东西”可以写成单独的函数,那就去做吧 但话说回来,这都是口味的问题。试着使用switch/case:
function f
{
switch(Z)
{
case X:
do something...
break;
case Y:
do something...
break;
default:
f2();
}
}
}您可能还会问,将这三种情况都放在一个函数中是否有意义。有时会,有时不会。当前两个箱子很容易安装在80x25终端上时,我更喜欢第二种形式。当前两个箱子很难安装在80x25终端上时,我更喜欢第一种形式。您也可以尝试相关的:为什么不想缩进代码?
function f2{do other stuff...