Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Когда у меня возникала похожая задача - реализовать на ЯВУ сопрограммы без выворачивания алгоритма (выворачивать пробовал, алгоритм действительно становится очень трудночитаемым), я просто и красиво написал автомат состояний и правила перехода. Да, пришлось все переменные тоже загонять в статические, но алгоритм остался хорошо понимаемым, если рядом лежит бумажка с пронумерованными состояниями на обычной форме записи алгоритма. Легко проверить правильность исходника - а это главное. И никаких трюков, которые приводят к потенциальным ошибкам!Если же припрёт делать что-либо на порядки более сложное, можно написать выворачиватель, который сам сгенерирует исходник вывернутой функции. Это не приведёт к снижению читабельности алгоритма, т.к. человек редактирует лишь исходный алгоритм в некотором его представлении, которое подаётся на вход выворачивателю. И уж точно никаких накладных расходов на сопрограммы, т.к. вывернутые функции оптимальны для случаев недостатка памяти. Даже пары байт на сопрограмму не требуется.
Составить ответ | Вернуться на конференцию
Ответы