我们在工作中实现了一个新的Javascript框架(http://app.igaro.com),其中作者已经内联了许多返回语句。以https://github.com/igaro/app/blob/master/compile/js/core.language.js为例。
我的老板告诉我不要遵循这种方法,但除了他更喜欢扩展代码的外观之外,没有理由这样做。哪个被认为是最佳做法?
if (dosomething) return 30;
if (trythis) return 20;
return false;
-v -
if (dosomething) {
return 30;
} else if (trythis) {
return 20;
} else {
return false;
}
答案 0 :(得分:2)
这里有三个不同的问题:
您是否应始终将if
语句的正文放在大括号中?
你应该从功能的中间返回吗?
您需要在else
返回后使用if
吗?
对于(1),我会说"是"有强烈的共识,而jslint / hint会强制执行。
对于(2),我的个人意见是,如果你想快速退出一个功能,你应该这样做。这种技术还可以减少过多的嵌套。
对于(3),这似乎毫无意义。
答案 1 :(得分:1)
这归结为您作为团队达成一致的编码标准。除此之外没有最佳实践。
答案 2 :(得分:1)
那么第二个就是你应该遵循的那个。省略括号可能导致混淆。
例如,如果代码缩进如下:
if(condition)
var three = 1 + 2;
return three;
有人可能会认为:
if(condition) {
var three = 1 + 2;
return three;
}
而是编译为:
if(condition){
var three = 1 +2;
}
return three; // Error!
道格拉斯·克罗克福德在他的书“Javascript:The Good Parts”中说过。
经验表明,这种形式更具弹性。
现在由你来决定是否跟进最好的javascript程序员'不管是不是。