我经常使用条件分支编写函数,如下所示:
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
我喜欢第二个不要求我缩进我的大部分代码,但我不确定这是否被认为是好的做法。由于条件之后没有共同的代码,所以做出艰难的回报似乎是合理的。但第一种风格似乎也有优点。
答案 0 :(得分:1)
我个人认为使用大量的return语句可能会降低代码的可读性
我经常布置我的代码,以便在你的情况下,函数的'main'主体不必全部缩进:
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
答案 1 :(得分:1)
首先;到现在为止,你应该使用一个编辑器来处理你的缩进。
二;有几个返回语句可能会令人困惑。一个功能一个退出点。
第三;如果“很多东西”可以作为单独的函数编写,那就去做吧。
但话说回来,这都是品味问题。
答案 2 :(得分:0)
尝试使用开关/案例:
function f
{
switch(Z)
{
case X:
do something...
break;
case Y:
do something...
break;
default:
f2();
}
}
function f2{do other stuff...
}