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