sta*_*gas 13 if-statement coding-style
可能重复:
在不需要的情况下,是否应该保留或删除?
什么时候
a = 0
Run Code Online (Sandbox Code Playgroud)
这个:
var foo = function() {
if (a != 0) return true
return false
}
Run Code Online (Sandbox Code Playgroud)
或这个:
var bar = function() {
if (a != 0) return true
else return false
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*ael 18
它无论如何都会在编译时进行优化,因此没有运行时差异.
像往常一样,你可以争论风格.我的50美分:第一个变体(没有明确的其他)更好,因为它的代码完全相同.
当然,在这种情况下,你会这样做
return a != 0;
Run Code Online (Sandbox Code Playgroud)
......但我认为这个问题应该是一般性的.
我会说这是一个很好的做法,因为它会使代码更容易更改.例如,假设您想要打印出结果.您可以像这样更改它:
if (a != 0) {
print "returning true"
return true
}
print "returning false"
return false
Run Code Online (Sandbox Code Playgroud)
这意味着添加两次打印,否则:
if (a != 0) {
retval = true
} else {
retval = false
}
print "returning ", retval
return retval
Run Code Online (Sandbox Code Playgroud)
这意味着添加一个打印,但如果没有else,这将无法正常工作.
当然,这是一个人为的例子,但它显示了你应该如何尽可能地使代码可维护.