【发布时间】:2015-05-06 06:46:48
【问题描述】:
我努力拥有单一职责的简洁功能,但我经常有这样的功能:
logic part1 (~5 lines of code)
logic part2 (~5 lines of code)
return (the results of part1 and part2)
在 JavaScript 中,我发现这种编程风格非常自我声明且易于阅读(可能在 AMD 风格的环境中):
performCalculation: function() {
function part1() {
// 5 lines of code
return ...
}
function part2() {
// 5 lines of code
return ...
}
return part1() + part2();
}
这是好的形式吗? 或者,使用“function foo() {}”很笨重?
【问题讨论】:
-
这看起来不错!但是你可以尝试承诺扁平化你的结构并分离责任,你这会带来更多的开销!
-
这对于 stackoverflow 格式来说并不是一个合适的问题。如果您可以将其改写为关于编程主体而不仅仅是对意见的调查,那么它可能适合programmers.stackexchange.com
-
我个人认为只需要 5 行代码就不需要本地函数(如果逻辑不同,最好使用它自己的方法),但如果你喜欢这个声明样式没什么问题。
-
如果您要在循环中调用它,您可能会觉得这么多函数调用的开销太高了。同样,如果您正在递归,您可能会发现您过早地达到了堆栈限制。
标签: javascript amd