Можно ли провести рефакторинг, чтобы (по крайней мере, некоторые из них) состояние из первой функции передавалось как параметр второй функции, тогда избежать этого невозможно?
В противном случае, если у вас есть комментарии и утверждения, у вас все хорошо.
Однако, «было бы возможно превратить это в один огромный метод», звучит так, будто внешнему коду не требуется доступ к промежуточному состоянию в любом случае. Если так, то почему бы просто не сделать один открытый метод, который последовательно вызывает несколько частных методов? Что-то вроде:
FroblicateWeazel() {
// Need to be in this order:
FroblicateWeazel_Init();
FroblicateWeazel_PerformCals();
FroblicateWeazel_OutputCalcs();
FroblicateWeazel_Cleanup();
}
Это не идеально, но если порядок централизован для одной функции, довольно легко увидеть, в каком порядке они должны поступить.