ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1444423 Топик полностью
Nikolay_Po (22.06.2024 18:59, просмотров: 331) ответил Cкpипaч на Вредный совет detected. НУЖНО думать о слоях. НУЖНО проектировать системы "сверху - вниз". НУЖНО изолировать аппаратно-зависимые слои от чисто прикладных. Я потом объясню почему.
Мы пробовали писать так, как рекомендует товарищ Costic. Мой коллега умышленно добавлял уровени абстракции везде, где ему только показалось, что это может хоть когда-нибудь пригодиться. Я удивился. А он пояснил (не дословно, смысл): "Я не знаю, как потом я буду развивать этот код дальше. Поэтому предусматриваю эти абстракции, чтобы можно было удобно вмешаться на любом уровне." На моё возражение, что, быстродействие может пострадать, он ответил: "Какое у 

нас время цикла? Сколько у меня тактов? ... У нас достаточный запас, пожалуй, пару порядков. В крайнем случае, возьмём контроллер по-мощнее".

И его подход оказался очень эффективен с точки зрения разработки. То, что для обычного подхода, могло оказаться "костылями", отлично ложилось на заранее предусмотренные уровни абстракций.

Да, с первого взгляда невозможно понять, что делает код, потому, что его не выложить на одну страницу, не вытянуть в один цельный текст. Чтобы понять как оно работает, нужно ознакомится с документацией - иначе человеку почти невозможно выудить информацию из, казалось бы, бессвязного кода. Так что тут нужно признать, лишние абстракции могут и затруднять чтение программы. Зато компилятор отлично справляется. При максимальной оптимизации на скорость, с включённой LTO, разница в эффективности машинного кода исчезающе мала для бизнес-логики.