Я бы сказал, что дело не в вашей основной функции, а в том, что нет. В зависимости от сложности вашего проекта вы можете разбить его на функциональные разделы, такие как «Функции базы данных», «Функции отображения», «Полдник с викарием» и т. Д.
Все дело в читабельности кода. Может ли кто-то еще, кто никогда раньше не видел вашу программу, натолкнуться на нее и сначала получить хорошее обобщенное представление о том, что она делает?
Может тогда легко увидеть, куда идти, чтобы покопаться немного глубже в механизм?
Каждый функциональный раздел, который вы используете, выполняет только логический блок процессов? Это не должно делать только одну вещь, но это не должно делать все плюс кухонная раковина.
Разбейте ваш код так, чтобы его можно было поддерживать из внешнего источника.
Потому что бог знает, что когда дело доходит до того, что кто-то еще может исправить ошибку, тем лучше =)
В качестве прямого ответа на ваш вопрос, я бы поставил вызовы функций для каждого из основных компонентов в основном, настройки, процесса и завершения, чтобы каждый, кто на это посмотрел, получил быстрый обзор того, как программа работает. Затем они могут продолжить бурение, если потребуется.