再利用可能なコードのリポジトリをセットアップしようとしています。私は、再利用可能な各コード モジュールに特定の「成熟度」の評価を持たせることを考えていました。評価は、再利用可能なコードが特定の一連の要件内にあるレベルとして定義されます。最高の成熟度レベルは、事前定義された一連の要件全体で最高度の標準になります。
例:
レベル。要件; 説明
レベル 0。コードの使用は合法です。コードは商業産業/複数の契約/その他での使用が合法ですか?
レベル1; 基本コードラインであり、レベル 0 の要件を満たしています。プロトタイプ コード、サードパーティ ツールなど
レベル 2; 関数インターフェイスとコメントがあり、レベル 1 の要件を満たしています。各クラスと関数の十分なドキュメント。コメントから機能を判断できる
レベル 3; コーディング標準に準拠し、レベル 2 の要件を満たしています。定義されたコーディング標準に従い、コード チェック ユーティリティ テスト
レベル 4 に合格。テスト ケースを含み、レベル 3 の要件を満たしています。コードのすべての機能をテストするのに十分なテスト ケースがある
レベル 5; 再利用委員会によって承認され、レベル 4 の要件を満たしています。再利用の専門家や同業者によってレビューされ、すべてのレベルの成熟度を満たしていることが検証されました
この成熟度レベルを階層構造にする必要があるかどうか疑問に思っています。次のレベルに移動するには、前のすべてのレベルの要件を満たす必要があります (上で示したように)。
それとも、次のレベルを満たすための要件のサブセットである必要がありますか?
たとえば、y 個の要件のうち x 個を満たしている場合、次のレベルに進むことができます (要件は上記と同じです)。
レベル 0、6 つの要件のうち 0 つを満たす
レベル 1、6 つの要件のうち 1 つを満たす
…
サブセットアプローチで見られる問題は、一部の要件にはより強い重み付けが必要であり、このアプローチでは考慮されないことです (特定のようなものを取得し始めない限り、b から a と y から x を満たしているなど)。しかし、その後、複雑になり始める可能性があります。
誰かが以前にこれを行ったことがありますか?もしそうなら、どのようにライブラリをセットアップしましたか? 成熟度レベルはまったくありますか、それとも他の構造ですか? 任意の入力をいただければ幸いです。