Re[4]: if (a == true)
От: T4r4sB Россия  
Дата: 03.09.24 17:15
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Alekzander, Вы писали:

A>>Это хуже йодинга: смысл перестановка меняет незначительно лишь, а инверсия страшная тут.
S>Смысл меняется, и очень-очень сильно. true обычно равно 0xFFFFFFFF.

Это в каких языках?

S>Может быть, a имеет тип "недоперечисления", которое организовано так, что -1 = started; 0 = stopped; 1 = starting; 2 = stopping; 16 = error. Для совместимости с совсем древним кодом, который написан для времён с двумя статусами сервиса, которые он проверял через if(!service->status).

S>А теперь нам нужен код, который убеждается, что сервис именно что запущен.

if (service == STARTED)

А вот использовать тот факт, что битовое представление true совпало с битовм представлением STARTED — это говнокод
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.