Serega & Gravelhook
Как-то размышлял, как гора строится камень за камнем, а у нас код слоями функций наращивается. У тебя, кстати, как с порядком, чтобы не запуталось всё?
Да, я каждый раз, когда сталкиваюсь с ошибкой в коде, вспоминаю про эту метафору с горой. У меня в голове как будто схема, древовидная структура, где каждая ветка – это отдельная задача. Каждая функция – это лист, а основание горы – мой основной цикл. Я использую интерфейсы как скалы, чтобы слои могли взаимодействовать друг с другом без проблем. Если вижу, что что-то начинает превращаться в бесконечный цикл, задаюсь вопросом, стоит ли вообще продолжать его вызывать. Если проходит проверку на адекватность, переписываю это в генератор и даю ему корректное базовое условие. Так код не рухнет, как карточный домик.