[P&AM Lab] Пример для разбора исходного кода - cat(1) из BSD 4.2

Kargin Ruslan karginrusja на mail.ru
Пт Дек 10 00:34:15 MSK 2010


В Чтв, 09/12/2010 в 22:35 +0300, Grigoriy A. Sitkarev пишет:

> Поэтому в нашем случае как делать, через #define или же enum - дело 
> вкуса, ещё раз повторюсь.
> 
> --
> Г.А.
> 

 Как тонко, но всё же есть рекомендации (хотя их можно и не соблюдать).
Они имеются именно потому, что код с enum проще читать и разбирать в
отладчике: комбинация битовых полей действительно не будет светится
именем, но для разбора кода в отладчике наиболее интересны моменты,
когда проверяется установка того или иного бита, а её результат будет
светится именем.
 Далее, флаги, вообще говоря, можно считать связанными константами, и
тогда для них действует рекомендация "Enums are preferred when defining
several related constants" (linux kernel coding style).
 Использование же макросов считается устаревшим стилем из-за проблем,
которые они обычно с собой несут, хотя в данном случае их нет. Подробнее
можно почитать в 1.4 и 1.5 книги Б.Керниган, Р. Пайк. "Практика
программирования".

 P.S. Надо бы тут заканчивать, а то положим список =)





Подробная информация о списке рассылки Lab