Цитата(zltigo @ Sep 8 2009, 18:28)

воздействий еще больше - поведение становится формально трудно описуемым нужно добавлять элементы размытой логики...
В данном топике речь идёт о
меню. Можно пример ваших усложнений касательно построений меню? Я себе мало представляю меню с размытой логикой, но подозреваю, что если такое и можно придумать, вряд ли возможно будет этим пользоваться с точки зрения эргономики. Хорошее меню - простое меню. Тому пример старые модели телефонов Nokia.
добавлено: пару нажатий кнопок и ты уже рубаешь в змейку
Цитата(zltigo @ Sep 8 2009, 18:28)

Да, уже поминал в начале топика в качестве примера. Особого пиетета не стоит (ну разве только по отношению к коду генеримому IAR VS

), но достаточно добротно.
Код генерируемый IAR VS - нечитабелен, ибо там всё завязано на 1 таблице, которую без бубна не расшифруешь

, но всё остальное по-моему вполне вразумительно (в сравнении с другими программами с автогенерацией кода)
Цитата(Dog Pawlowa @ Sep 8 2009, 18:45)

А я вот пришел к макросам описания состояний и доволен.
Переходы между состояниями - ручками внутри соответствующих функций.
Единственная проблема - время компиляции после всей "макросизации" состояний, портов, ошибок, событий, клавиш) выросло драматически.
К макросам лично у меня сложилось весьма предвзятое отношение, я считаю что они сильно усложняют чтение программ сторонними людьми, а также могут содержать ошибки, которые трудно отыскать.
Цитата(Dog Pawlowa @ Sep 8 2009, 18:45)

"просто поросячий восторг!!! .... Вообщем сейчас уже этой штукой не пользуюсь для меню "

Вы очень хорошее резюме сделали, на самом деле очень часто хочется писать "как хочу", а знающие люди говорят - не надо так писать, и только через какое-то время понимаешь, что они были правы и главное - почему. Поэтому я лично часто говорю себе - "не буду так писать (как хочеться).... почему?(сам себе).... не знаю, но всё равно не буду, потом пойму"
Цитата(mempfis_ @ Sep 8 2009, 19:08)

Делал довольно разветвлённые меню путём организации состояния программы с перебором в основном цикле и функциями перехода.
На мой взгляд это хороший способ для простых меню. (то что я подразумевал под
вариантом 2)
Чуть возрастёт логика и способность чтения экпоненциально усложняется.
Нормальный подход для простых меню.
А усложнить например можно добавив память в дочерние состояния, а если их еще несколько...