ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
14 июля
510894 Топик полностью
fk0, легенда (27.04.2014 21:57, просмотров: 82) ответил Codavr на Дык. Беда в том что для того чтобы добавлять надо разобраться чего же оно делает. Я пока на этапе разборок, а не изменений.
На бумажке изобразить все состояния автомата (возможные значения переменной, которая в switch). Изобразить переходы (когда переменная изменяется) и предшествующие им логические условия, выполняемые на переходах действия (можно вынести в отдельные функции, как и проверку условий). Вопрос сколько состояний. Если их там десятки-сотни, то напрашивается, что на этапе проектирования было несколько параллельных автоматов и потом их попросту объединили в один (и число состояний перемножилось). Разобрать это обратно в человеческий вид тяжко, как и понять умом. Обфускация на логическом уровне... Сомневаюсь что так. Либо там можно выделить вложенные автоматы и раздробить задачу на несколько более обозримых и относительно независимых. Скорей так и есть. В любом случае это лучше накрученных и "понятных" исходников в блоксхемах, если в них, например, состояние программы кодируется десятком переменных и ещё счётчиком программных инструкций впридачу. Тут хоть переменная состояния -- одна.
[ZX]