Switch с переменной состояния? А где действия, выполняемые "на
ветвях"? :) У меня обычно есть отдельно
действия, выполняемые при попадании в состояние (один раз)
и действия, выполняеные снова и снова (проверка условий выхода из состояния).
Отдельно рисую графы переходов, отдельно кодирую.
Сами состояния - switch, ветви переходов - goto.
Читабельность, если в руках нет исходного графа - отвратительная.
Зато перенос графа в код - взаимооднозначный и нетрудозатратный.
Мысль была - следующая: если задача изначально, на уровне ТЗ - спагетти, то какие у нас основания думать что мы сможем читабельно ее закодировать не-спагетти?
Откуда такой оптимизм? И стоит ли тратить на этот анонизм перфекционизм ресурсы?