【发布时间】:2011-04-12 15:47:30
【问题描述】:
我正在重构一个从开源项目中挑选的大型 javascript 文档。许多函数使用不一致的返回语句。这是我的意思的一个简单示例:
var func = function(param) {
if (!param) {
return;
}
// do stuff
return true;
}
函数有时返回布尔值,有时返回字符串或其他内容。通常它们与条件内的简单return; 语句配对不一致。
问题是代码很复杂。它是一个使用大量唯一 RegEx 匹配、动态创建和销毁 DOM 节点等的解析器。初步测试表明,在上面的示例中,我可以将 return; 语句更改为 return false;,但我'我担心直到很久以后我才意识到它对脚本有负面影响(即某些功能停止工作)。
所以我的问题是:使用空白退货声明有什么好处吗?这可能是故意这样编码的还是只是懒惰?我可以将它们全部更改为return false; 或return null;,还是我需要深入研究每个调用并找出它们对这些函数的结果做了什么?
【问题讨论】:
-
我确实发现,如果我明确返回 true 或 false 逻辑,我会在维护周期中停下来思考更少,但正如其他人所说,确保在全面更改之前使用功能。
标签: javascript refactoring return-value