ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
916270 Топик полностью
Vit (15.04.2019 17:08, просмотров: 199) ответил Скрипач на Есть состояние, а есть дуги переходов.
Я пользуюсь goto и не стесняюсь. Но goto, необходимые для алгоритма, а не для работы с анонимными состояниями, у меня обернуты - добавляется изменение переменной состояния. Я показал как при switch можно обеспечить переход на ТОЧКУ ВХОДА из нескольких веток - тоже инструментарий. При использовании анонимных состояний это сложнее (но тоже возможно). Вы же себе упрощаете написание, но усложняете контроль (Вы сейчас считаете иначе). Что касается "переписывания нарисованного", то это аж вопрос формирования программного потока как явной смены состояния в "академически чистом" случае и варианта "я художник - я так вижу" - когда точки входа в тексте программы есть, а в фактических изменениях состояния их нет. Это об автоматах и документах. Далее о маразмах и глюках. Не вижу в своём варианте со switch лишних сущностей - и переход организован, и состояние явно указано, и точка входа. В то же время по технической части решения с "голыми" goto повторюсь - из собственного опыта - отсутствие смены значения переменной состояния при переходах по goto при использовании анонимных состояний а-ля Protothreads приводит к трудновылавливаемым логическим ошибкам. Схожие подарки можно огрести при использовании пользовательских switch и break в теле Protothreads, но то как бы очевидно.