Настройка репозитория повторного использования кода - сложная задача.Основная сложность заключается не в том, как вы ее настраиваете, а в , как вы сообщаете о существовании различных библиотек в хранилище.Повторно используйте библиотеки только в том случае, если они используются, и они используются только в том случае, если они известны, и они широко используются только в том случае, если качество кода высокое и соответствует потребностям пользователей.
Iкак идея уровней зрелости, но, как уже сообщали другие, вероятно, предстоит довольно много работы по настройке / сборке.Я думал о похожем подходе к сборкам приложения - я назвал их уровнями доверия.На арене сборки приложений сборка с низким уровнем доверия - это та, которая не прошла модульные тесты;средняя достоверность может включать прохождение модульных тестов, но не интеграционных тестов и т. д.Это был хороший механизм для общения с QA и пользователями, чего ожидать.Подобный механизм может быть подходящим для библиотек.
Комментарии к документации являются обязательными, и им также необходимо уделять столько же внимания, сколько вы вносите в код.Комментарии должны сообщать, что, почему, где, когда, как, что и т. Д. Ваш процесс сборки должен публиковать документацию в известном месте (опять же, общение является ключевым).
Вдоль линий связине больно время от времени представлять то, что есть.Снова!коммуникация.
Итак, как минимум, ваша сборка каждой библиотеки должна:
- опубликовать библиотеку (возможно, уведомить подписчиков)
- опубликовать документацию
- запуск юнит-тестов
- публикация уровня зрелости
Что касается уровней зрелости, я бы определил их с помощью «имени уровня» и описания значения уровня.Опубликуйте критерии того, что значит двигаться вверх или вниз по уровню.На самом деле, теперь, когда я думаю об этом, возможно, вам нужен набор ортогональных критериев: уровень для кода, уровень для документации, политики использования (т.е. должен иметь лицензию для XYZ) и другие атрибуты. Тем не менее, я рекомендую вам подходить к этому с небольшими приращениями. В конце концов, обеспечение функциональности для конечных пользователей - вот что важно.
Вы также должны донести до ума естественный толчокмногоразовые биты в хранилище.У разработчиков обычно должен быть стимул делать это.Инструменты для проверки статического кода, которые ищут дубликаты и рецензии, только зашли так далеко.Кто-то должен фактически выполнить работу по переносу кода в хранилище.
Наконец, я рекомендую вам использовать как можно больше средств поддержки при настройке, сборке, обслуживании и обмене данными в хранилище.В противном случае, как и для любого не кодового артефакта, вы столкнетесь с определенным количеством энтропии, которое понижает значение по мере устаревания не кодового артефакта.