Я пытаюсь настроить репозиторий многоразового кода. Я думал о том, чтобы каждый модуль многоразового кода имел определенный рейтинг «Уровня зрелости». Рейтинг будет определяться как уровень, на котором повторно используемый код находится в пределах определенного набора требований. Наивысший уровень зрелости будет высшей степенью стандарта по заранее определенному набору требований.
Например:
Уровень; Требования; Описание
Уровень 0; Код разрешен для использования; Законно ли использовать код в коммерческой сфере, в нескольких контрактах и т. Д.
Уровень 1; Базовая кодовая строка и соответствует требованиям уровня 0; Прототипированный код, сторонние инструменты и т. Д.
Уровень 2; Имеет функциональный интерфейс и комментарии и соответствует требованиям уровня 1; Достаточная документация для каждого класса и функции; Умеет определять функциональность по комментариям
Уровень 3; Придерживается стандартов кодирования и соответствует требованиям уровня 2; Соответствует определенным стандартам кодирования и проходит служебный тест проверки кода
Уровень 4; Включает тестовые примеры и соответствует требованиям 3-го уровня; Имеет достаточное количество тестовых примеров для проверки всей функциональности кода
уровня 5; Одобрено комитетом по повторному использованию и соответствует требованиям 4 уровня; Проверено экспертами по повторному использованию и коллегами и подтверждено, что он соответствует всем уровням зрелости
Мне интересно, должен ли этот уровень зрелости быть иерархической структурой, где для перехода на следующий уровень вам необходимо выполнить требования всех предыдущих уровней (как я показал выше)?
Или это должно быть подмножество требований, чтобы соответствовать следующему уровню?
Например, мы выполнили x из y требований, мы можем перейти на следующий уровень (требования будут такими же, как указано выше).
Уровень 0 соответствует 0 из 6 требований
Уровень 1 соответствует 1 из 6 требований
…
Проблема, которую я вижу с подходом подмножества, заключается в том, что некоторые требования должны иметь более сильный вес, и в этом подходе это не будет приниматься во внимание (если я не начну конкретизировать, например, соответствует a из b, x из y и т. Д.). Но потом все может начать усложняться.
Кто-нибудь делал это раньше, и если да, то как вы настраивали свою библиотеку? У вас вообще есть уровень зрелости или какая-то другая структура? Любой вклад будет очень признателен.