共用方式為


程式代碼計量 - 可維護性索引範圍和意義

問題:可維護性索引已重設為介於 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 程序代碼的良好可維護性