Более глубокий вызов функции или вызов того же уровня - PullRequest
0 голосов
/ 31 марта 2020

У меня есть код со стеком вызовов сложных функций. Я хотел бы изменить его, чтобы избежать слишком глубокого вызова функции. В настоящее время стек вызовов функций выглядит следующим образом:

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 станет более сложной. Есть ли мнение о преимуществах или недостатках?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...