Visual Studio 2008中代碼分析可維護性指數的計算方法

翻譯自:

http://blogs.msdn.com/fxcop/archive/2007/11/20/maintainability-index-range-and-meaning.aspx

 

可維護性指數最開始的計算方法是這樣的(來源於卡耐基梅隆大學 的研究成果,但是考慮到計算不包含註釋,所以修改了霍爾斯特德量 的計算方法):

可維護性指數= 171 - 5.2 * ln(霍爾斯特德量 ) - 0.23 * (圈複雜度) - 16.2 * ln(代碼行數)

這樣算出來的數值可能是171到負無窮大。當可維護性指數趨向於0時,代碼已經難以維護,所以0和負無窮大之間沒有太多區別。

爲了讓這個度量指標看起來更清晰,我們取所有的負數爲0,指數範圍爲0到100,將計算公式改造爲:

可維護性指數= MAX(0,(171 - 5.2 * ln(霍爾斯特德量 ) - 0.23 * (圈複雜度) - 16.2 * ln(代碼行數))*100 / 171)

在調整公式的基礎上,考慮劃分不同的閾值:

  • 0-9 = Red
  • 10-19 = Yellow
  • 20-100 = Green
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章