【发布时间】:2012-02-21 10:09:34
【问题描述】:
一位教授很久以前告诉我在“链接”一个系列中的多个条件时使用else(我还在学习)。几年后我一直在修补几个框架和 CMS,我觉得很有趣,我被教做的事情不一定是这样。
我被教导在一系列条件之间使用else:
function double(param){
if(param==1){
return param+=1;
}
else
if(param==2){
return param+=2;
}
else{
return false;
}
}
现在,我似乎看到了这一点,我很久以前就被警告不要这样做:
function double(param){
if(param==1){
return param+=1;
}
if(param==2){
return param+=2;
}
return false;
}
这个示例代码可能不起作用,但想法是存在的:是否有必要在每个条件之间使用else? 如果是(或不是),我应该注意什么当使用任何一种方式?一定是有什么事情让我的教授告诉我这样的话。
【问题讨论】:
-
就像对使用空白的评论一样,“else if”中的 else 和 if 之间的换行符非常令人困惑(我从未见过前)。我还建议删除语言标签,因为这几乎适用于所有语言。
-
@therefromhere 我很抱歉,我在使用 PHP。那么空白只是为了清楚
else。不过,有时我会以这种方式编写代码以查看else和if之外的内容。 -
else在这里是多余的,因为您的代码中有return,无论如何这将最终导致函数执行。另外,整个函数可以写成function (n) { if( n==1 || n==2 ) { return n*2; } return false; } -
“return else”这个问题争论已久。我倾向于远离“返回其他”。相关主题:codereview.stackexchange.com/questions/2084/…
-
developer.mozilla.org/En/Developer_Guide/Coding_Style 给出了“它增加了缩进级别”的原因,这在不平凡的示例中可以对可读性产生很大影响。
标签: php javascript actionscript-3 coding-style syntax