
Попробуйте без goto сделать конечный автомат в прерываниях, на всех других операторах это будет быдлокод (по скорости выполнения)...
![]() |
roboforum.ruТехнический форум по робототехнике. |
|
Aseris писал(а):goto очень плохо обрабатываются анализаторами кода.
Aseris писал(а):Динамическое использование памяти ето ад для тестов.
Обьясняю задача A хочет динамически 100 байт B - 200, C - 300, heap - 500.
a+b - ok , a+b - ok a+b+c - hard fault. А динамический анализ памяти очень нетривиальная задача для сложных систем.
Обычно выделяются статически буферы.
Aseris писал(а):А вобще при разработке либо пользуются протоколами от гигантов индустрии ( бесплатно для своих чипов), либо протокол готовой платформы, либо пишется сугубо свое специализированое. В концепте самое сложное описание протокола и его тестирование. кодирование эт уже мелоч.
Aseris писал(а):P.S. к наличию goto в языках - поросенок тоже дом построил из соломыи он даже некоторое время стоял
cheblin писал(а):Aseris писал(а):goto очень плохо обрабатываются анализаторами кода.
lorry писал(а):cheblin писал(а):Aseris писал(а):Просто применение команды goto считается в среде программистов "правилом плохого тона", из за ухудшения читаемости и понимания кода, а это, в свою очередь может привести к ошибкам в написании самого кода.
if (State != STATE_READY)
{
errorcode = BUSY;
goto error;
}
error:
return errorcode;
lorry писал(а):Просто применение команды goto считается в среде программистов "правилом плохого тона"
Иногда goto все-же делает код читабельнее, благодаря чему он до сих пор широко используется, несмотря на все заявления его противников.
Я чувствую, что моя версия на C ++ неправильно реализует парадигму обработки исключений; на самом деле, версия C ++ кажется еще менее читаемой и более подверженной ошибкам из-за сборки кода очистки, накапливаемого в блоках catch при увеличении функции.
Angel71 писал(а):допустим нужно будет изменить порядок выполнения, добавить или удалить. так, здесь переходили на label1, меняем на label5. label3 удаляем, ищем все переходы на него и меняем на label4. с ростом сложности, количеством состояний
Angel71 писал(а):эмбенд эмбэнду рознь. если у тебя тинька/мега хиленькая
Dmitry__ писал(а):Любая конструкция "if", "switch" компилятором превращается в goto, есть основание задуматься. Goto - основная команда любого контроллера![]()
Попробуйте без goto сделать конечный автомат в прерываниях, на всех других операторах это будет быдлокод (по скорости выполнения)...
Angel71 писал(а):весь мир кухарки, один ты граф
Angel71 писал(а):т.е. настолько упоротый, что tgy на мегах это идельно для всего? молодец.
Angel71 писал(а):а то, что для векторного управления есть более подходящие мк
Dmitry__ писал(а):но вот как раз вызов функций в прерываниях и есть - моветон
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0