我有一个具有复杂函数调用堆栈的代码。我想重构它以避免调用函数太深。目前,函数调用堆栈如下所示:
function A () {
a = 1
return B(a)
}
function B (b) {
return C(b+1)
}
function C (c) {
return D(c+1)
}
function D (d) {
return (d+1)
}
这就是我想重写的样子:
function A () {
a = 1
b = B(a) // b -> 2
c = C(b) // c -> 3
d = D(c) // d -> 4
}
我不确定哪个是更好的解决方案。我觉得当 B、C、D 中的实现变得更复杂时,在同一级别调用 B、C、D 可以使代码流更容易被跟踪和更容易理解。对两者的好处或缺点有什么看法吗?
谢谢!