新式軟體應用程式的複雜性增加也會增加讓程式碼變得可靠且可維護的難度。 程式代碼計量是一組軟體量值,可讓開發人員更深入了解他們正在開發的程序代碼。 藉由利用程式代碼計量,開發人員可以了解應該重新作業或更徹底測試哪些類型或方法。 開發小組可以識別潛在風險、了解專案的目前狀態,以及在軟體開發期間追蹤進度。
開發人員可以使用 Visual Studio 來產生程式代碼計量數據,以測量其 Managed 程式代碼的複雜性和可維護性。 程式代碼計量數據可以針對整個方案或單一項目產生。
如需如何在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 產生的程式代碼,因為它是開發人員可以看到和變更的程式代碼。