次の方法で共有


コード メトリック - 保守容易性インデックスの範囲と意味

質問: 保守容易性インデックスが 0 から 100 の間にリセットされました。 このリセットの方法と理由

メトリックは、最初は次のように計算されました: Maintainability Index = 171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code)

この数式の使用は、171 から無制限の負の数の範囲であることを意味しました。 コードが 0 に向かう傾向にあったため、コードを維持するのは明らかに困難でした。0 のコードと負の値の違いは役に立ちません。 負の数の有用性が低下し、メトリックを可能な限り明確に保ちたい場合、0 以下のインデックスをすべて 0 として扱い、171 以下の範囲を 0 から 100 にリベースすることにしました。 このため、使用する数式は次のとおりです。

Maintainability Index = MAX(0,(171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code))*100 / 171)

さらに、しきい値を控えめにすることにしました。 希望は、インデックスが赤で示された場合、コードに問題があることを高い信頼度で言うことでした。

しきい値については、この 0 から 100 の範囲を 80 から 20 に分割してノイズ レベルを低くし、疑わしいコードのみにフラグを設定することにしました。 次のしきい値を使用しました。

インデックス値 意味
0-9 赤い コードの保守性が低い
10-19 黄色 コードの中程度の保守容易性
20-100 コードの保守性が良好