Ben*_*Ben 2 if-statement coding-style
关于编码标准,速度和效率,对于这种情况,以下哪一项是更好的编程实践?
function foo() {
if(bar) { return 0; }
if(baz) { return 0; }
if(qux) { return 0; }
}
Run Code Online (Sandbox Code Playgroud)
要么
function foo() {
if(bar || baz || qux) { return 0; }
}
Run Code Online (Sandbox Code Playgroud)
我倾向于第一个,因为只需要评估一个条件因此会更快,但是多个return
s不好......?
//编辑
我要应用的语言主要是PHP和Javascript,可能是C++和Ruby.
今天几乎每种编程语言都使用短路评估||
,这意味着这两个例子在控制流程和性能方面是等价的.
如果它们遍布整个函数并且它们返回不同的东西,那么确实应该避免多次返回,因为这会降低可读性.另一方面,具有检测不可接受的条件并停止执行流程的早期条件是相当标准的:
function getFriendList()
{
if (! has_internet_connection() ) return null;
if (! is_logged_in() ) return null;
return server.getFriendList();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1924 次 |
最近记录: |