-
- Сделайте второй вариант, с переменной ReturnValue перед
переключателем. В переключателе все варианты - присваивают этой
переменной соответствующее значение и оканчиваются break; для всех,
включая default. Nikolay_Po(43 знак., Сегодня, 19:49)
- Так сделано в первом варианте. - 3m(Сегодня, 19:53)
- Хреново читается. Но второй хуже. - Nikolay_Po(Сегодня, 20:00)
- Так сделано в первом варианте. - 3m(Сегодня, 19:53)
- 1. Второе не пройдет MISRA. Потому что у функции должен быть только
одна точка входа и только одна точка выхода (один return). EmbedProg(775 знак., Сегодня, 19:37,
, +1) - если return вместо присвоения то я за return(2) Но в данном примере мне оба варианта не понравились. ф-я возвращает bool( 0/1) и в случае успеха и в случае (ошибки return false;) Я б так не делал. - abivan(Сегодня, 19:09)
- Т.е. суть вопроса - делать один return в конце или несколько return
из case? Для конкретного этого случая - вариант 2, т.к. выглядит
компактно и вполне понятно il-2(169 знак., Сегодня, 18:24)
- Видел как-то дизассмеблер для 51го - там switch и много case превратились в переход "JMP @A + DPTR", а там по месту много LJMP уже на нужные реализации. - POV(Сегодня, 18:27)
- И так, и так жутко выглядит. Кнопочка и лампочка - и сразу какие-то
указатели, структуры... Непонятно, зачем. Наверняка всё это могло
быть сделано проще. - SciFi(Сегодня, 18:10)
- В вас говорит пораженческое настроение от частого общения с нейросетями! Ralex(24 знак., Сегодня, 18:22, +1)
- 2 - Ralex(Сегодня, 18:03)
- присвоить bool'у int? ну лучше бы маску наложил: return lamp_memory[desc->idx] & 0x80 - POV(Сегодня, 18:03)
- Вариант с маской еще хуже: true это все таки в большинстве случаев
1 и при 0x80 неизвестно что может поломаться. Если уж соблюдать
правильность то как то так: return (lamp_memory[desc->idx] &
0x80) != 0; - 3m(Сегодня, 18:17)
- Ничего не сломается. Накладывать маску нормально. В бул
превращается 0 или !0. POV(1 знак., Сегодня, 18:21, картинка)
- На Хабре статья была на эту тему в прошлом году. Подробности я уже
забыл но суть в том что лучше не делать true отличным от 1 даже при
том что это допустимо по стандарту. - 3m(Сегодня, 18:46)
- Не верно, по моему. Лучше не делать фолс отличным от нуля. А всё,
что не ноль - тру. Nikolay_Po(248 знак., Сегодня, 19:14)
- !0 - это 1 при любых раскладах. Там нет никакой мистики. - SciFi(Сегодня, 19:31)
- Не верно, по моему. Лучше не делать фолс отличным от нуля. А всё,
что не ноль - тру. Nikolay_Po(248 знак., Сегодня, 19:14)
- На Хабре статья была на эту тему в прошлом году. Подробности я уже
забыл но суть в том что лучше не делать true отличным от 1 даже при
том что это допустимо по стандарту. - 3m(Сегодня, 18:46)
- вот так часто делают: !!(value & mask) - SciFi(Сегодня, 18:19)
- Ничего не сломается. Накладывать маску нормально. В бул
превращается 0 или !0. POV(1 знак., Сегодня, 18:21, картинка)
- Вариант с маской еще хуже: true это все таки в большинстве случаев
1 и при 0x80 неизвестно что может поломаться. Если уж соблюдать
правильность то как то так: return (lamp_memory[desc->idx] &
0x80) != 0; - 3m(Сегодня, 18:17)
- Сделайте второй вариант, с переменной ReturnValue перед
переключателем. В переключателе все варианты - присваивают этой
переменной соответствующее значение и оканчиваются break; для всех,
включая default. Nikolay_Po(43 знак., Сегодня, 19:49)