Зачастую и switch/case (с define или enum) не очень красивы. Ведь эти define/enum нужно придумывать, давать им осмысленные названия… Вместо этого их посыпают сахаром для удобства и наглядности.
ИМХО, дело привычки, но с читаемостью кмк беда.
Скорость работы не увеличивается, код тоже не сокращается, а если кому придется разобраться с исходником, нужно будет потратить время на вникание в конструкцию.
Офигеть! Ну вы бы обосновали своё утверждение чем то. Или просто так, тяп, ляп.)
Ведь понятно, что высокоуровневый язык позволяет легче выражать свою логику, не вникая в физику. Иначе зачем он нужен - ведь есть низкоуровневый ассемблер.
О…смотрю вежливость пошла)
А теперь перечитайте свой ответ по поводу кода и умений других людей, и подумайте, реально ли вы спец, или так…попи…ть пришли)
Федя, родной! Мне - не очень нравится. В коммерческом коде вообще недопустимо. Нельзя создавать и использовать макросы, которые скрытым образом изменяют структуру кода.
Но изящество есть, для личного применения. И тут самое важное замечание будет:
Эти ухищрения нужны ИСКЛЮЧИТЕЛЬНО в примитивных контроллерах. Где используется парадигма сетап-луп. Как только у меня есть треды, я просто в отдельном треде спокойно пишу код с делееями, забыв про все танцы “в мешке”.
Ты заметь - я не ругаю. Но это не читаемо. Как и любое сильно вычурное программирование.
Я бы писал свич явно, с логичными кейсами, если бы нуждался в чем-то подобном. Но лучше штоп фриРТОС была! ;)))))
Тут дело вкуса. Мне никогда не были приятны 8-ми битники. Но кто-то любит именно на Тиньке решить задачу, для которой я возьму СТМ32. Я не знаю - зачем, но кто-то любит и я их судить не стану. Но и понять не смогу.
Даже на тиньках я использую enum class. С глобалами оно не пересекается, выдумывать уникальное не надо. Длинное написание с лихвой компенсируется работающим intellicense. Зато читается и через три года.