ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
16 февраля
1570936 Топик полностью
Nikolay_Po (Вчера, 17:48, просмотров: 36) ответил General на А это применимо к RISC-V? Где границы? Мб накладные расходы удвоят требования?
Я бы попробовал такие условия разработчикам поставить: 

1. Общий репозиторий проектов и библилиотек.

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

3. Если функционала того или иного файла (набора функций) не хватает - доработка HAL по заявке. Заявку может делать любой заинтересованный. Внедрение делает один ответственный. Схема хорошо ложиться на git.

3. Каждый проект имеет либо встроенные в ПО тесты, либо отдельный набор тестов, покрывающий все используемые функции HAL. После любого изменения - все актуальные проекты проходят тестирование. Для снижения трудоемкости тестирования, часть проектов переводится в архивные, с заморозкой версий функций HAL. Тестируются только актуальные.

4. HAL уже зависит от архитектуры. Поэтому ветвление по архитектурам, разрешить уже в HAL. Решение о поддержании общей версии для всех архитектур или индивидуальных, принимает "держатель функции" - ответственный. Тот самый, который удовлетворяет заявки на изменения в HAL.

5. Если принято решение, тот или иной функционал HAL, держать универсальным для всех архитектур, то для такого случая, поддерживать и развивать свой LL. Делаем то же самое, начиная с п. 1 выше, только на уровень ниже.

6. Если компетенции ответственного за блок HAL, не хватает для той или иной архитектуры, производится выделение проблемного функционала в LL с передачей задачи компетентному ответственному.

7. Любые изменения, вносимые в библиотеки, должны иметь развёрнутое описание, какая проблема решается и каким способом делается и почему сделано именно так, с перечислением плюсов и минусов.


При этом один и тот же человек, может быть держателем нескольких функций и в HAL, и в LL.

Сам мечтаю внедрить такое, но всё откладываю: "До следующего проекта"...


P.S. HAL и LL - полностью свои. Можно копировать готовое, но хранить и развивать - своё. Пробовал пользовать готовое - всё равно дорабатывал и оно тянется не из чужих пакетов ПО, а лежит у меня локально.


P.P.S. репозиторий регулярно архивировать. Желательно продумать разграничение доступа для подрядчиков. Как-то, мой коллега, по молодости, подрядился делать работу с чужим репозиторием удалённо. Начал. И дров наломал. К счастью, заказчик всё оперативно восстановил.