ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
1444145 Топик полностью
VladislavS. (20.06.2024 21:43 - 22:55, просмотров: 130) ответил Cкpипaч на Я не против. Но прочитать, до уровня полного понимания что происходит, мой вариант на порядок проще.
Уровень полного понимания должен заканчиваться на знании, что этот метод включает светодиод (или устанавливает частоту в случае синтезатора). Как он это делает для понимания знать не надо. Вы что, не доверяете своему коду? Но даже если решите посмотреть, то куда понятнее увидеть в методе включения светодиода команду установки (или сброса) порта, а не манипуляцию непонятными битами регистров (поди ты вспомни их во всём этом зоопарке). 

template <typename TPin, bool invert=false>

struct TLed final

{

static inline void On() { invert ? TPin::clear() : TPin::set(); }

}

Вот так куда понятней, чем жонглирование битами. Не говоря уже о том, что это не надо будет больше переписывать и не возникнет потребность сюда заглядывать. Строчка LED::On(); в коде не будет вызывать желания заглянуть и проверить как же она работает. Вот это и есть читабельней, а не то что у вас.