程式碼度量值

新式軟體應用程式的複雜性增加,也會提高讓程式碼維持可靠和可維護的難度。 程式碼度量資訊是一組軟體測量數據,可以讓開發人員更深入了解他們正在開發的程式碼。 開發人員可以藉由利用程式碼度量,了解應重新修改或更徹底測試哪些類型和/或方法。 開發小組可以識別潛在風險、了解專案的目前狀態,以及在軟體開發期間追蹤進度。

開發人員可以使用 Visual Studio 來產生程式碼度量資料,以測量其受管程式碼的複雜性和可維護性。 可以針對整個方案或單一專案產生程式碼度量資料。

如需如何在 Visual Studio 中產生程式碼度量資料的資訊,請參閱作法:產生程式碼度量資料

軟體測量

下列清單顯示 Visual Studio 計算的程式碼度量結果:

  • 可維護性指數 - 計算介於 0 到 100 之間的索引值,此值代表維護程式碼的相對容易度。 較大的值表示可維護性更佳。 以色彩編碼的評等可用來快速識別程式碼中的問題點。 綠色評等介於 20 到 100 之間,表示程式碼的可維護性良好。 黃色評等介於 10 到 19 之間,表示程式碼的可維護性適中。 紅色評等是介於 0 到 9 之間的評等,表示可維護性較低。 如需詳細資訊,請參閱可維護性指數範圍和意義

  • 循環複雜度 - 測量程式碼的結構複雜度。 其建立方式是計算程式流程中不同程式碼路徑的數目。 具有複雜控制流程的程式需要更多測試,才能達到良好的程式碼涵蓋範圍,且可維護性較低。 如需詳細資訊,請參閱循環複雜度

  • 繼承深度 - 指出繼承自彼此、追溯到基底類別的不同類別數目。 繼承深度與類別結合程度類似,因為基底類別的變更可能會影響其任何繼承的類別。 這個數字越大,繼承越深,基底類別修改的可能性就越高,而會導致中斷性變更。 若是繼承深度,較低的值是好的,而較高的值是不佳的。 如需詳細資訊,請參閱繼承深度

  • 類別結合程度 - 透過參數、區域變數、傳回型別、方法呼叫、泛型或範本具現化、基底類別、介面實作、外部類型上定義的欄位,以及屬性裝飾,測量唯一類別的結合程度。 良好的軟體設計會規定類型和方法都應有高內聚和低結合程度。 高結合程度表示設計與其他類型有許多相互依賴性,因而難以重複使用和維護。 如需詳細資訊,請參閱類別結合程度

  • 原始程式碼行 - 指出來源檔案中存在的原始程式行確切數目,包括空白行。 從 Visual Studio 2019 16.4 版和 Microsoft.CodeAnalysis.Metrics (2.9.5) 開始,即可使用此計量。

  • 可執行檔程式碼行 - 指出可執行檔程式碼行或作業的大約數目。 這是可執行檔程式碼中的作業數目。 從 Visual Studio 2019 16.4 版和 Microsoft.CodeAnalysis.Metrics (2.9.5) 開始,即可使用此計量。 此值與先前計量 (程式碼) 的相符程度通常很高,該程式碼是舊版模式中使用的 MSIL 指令型計量。

匿名方法

匿名方法就是沒有名稱的方法。 匿名方法是將程式碼區塊當成委派參數傳遞的最常用方法。 在成員 (例如方法或存取子) 中宣告的匿名方法的程式碼度量結果,會與宣告方法的成員相關聯。 其與呼叫該方法的成員無關。

產生的程式碼

某些軟體工具和編譯器會產生程式碼,此程式碼會新增至專案中,但專案開發人員不會看到或不應該變更該程式碼。 大部分情況下,程式碼度量會在計算計量值時忽略產生的程式碼。 這可讓計量值反映開發人員可以看到和變更的內容。

不會忽略針對 Windows Forms 產生的程式碼,因為其是開發人員可以看到和變更的程式碼。