ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1444452 Топик полностью
Cкpипaч, пророк (22.06.2024 19:58, просмотров: 288) ответил Nikolay_Po на Я максималист. И преждевременная оптимизация - моя слабость и смысл жизни. К счастью, современные компиляторы позволяют расслабиться. Уже можно не оптимизировать. И так получится хорошо... За исключением простыней конфигураций ввода вывода и прочего жонглирования битами. Абстракция позволяет тонко отделить необходимость обращения к аппаратуре как указано, без оптимизации самого обращения, от комбинирования данных при этом обращении. Честно говоря, я до сих пор не программирую
Вы меня не услышали. Операции с регистрами НЕ ДОЛЖНЫ БЫТЬ размазаны по прикладному коду. Настройка ли периферии, команды ли в регистры общего назначения, они должны быть внутри функций, реализующих (при взгляде снаружи) действия прикладного понятийного уровня. 

Внутри каждой из таких функций может быть ровно одна команда манипуляции с битами, а может быть их там несколько и плюс что-то еще.


Адепты ООП радостно кидаются писать "снизу вверх", наворачивая несколько слоев абстракции и создавая "классы операций над битами",

но по факту, ВСЕ РАВНО их вызовы группируются в отдельных функциях, изолирующих прикладной код от манипуляции с SFR

и все это их творчество запросто можно вынести за скобки и сократить.

Если битовые операции ВСЕГДА внутри отдельной функции, то банально пофиг как они написаны, с ООП или напрямую, через маски "И-ИЛИ".

... но не любой ценой.