1. 程式人生 > >通過 Visual Studio 的“代碼度量值”來改進代碼質量

通過 Visual Studio 的“代碼度量值”來改進代碼質量

metrics csharp 1.3 image imp com 如何 hello 之間

原文:通過 Visual Studio 的“代碼度量值”來改進代碼質量

1 軟件度量值指標

1.1 可維護性指數

  表示源代碼的可維護性,數值越高可維護性越好。該值介於0到100之間。綠色評級在20到100之間,表明該代碼具有高度的可維護性;黃色評級在10到19之間,表示該代碼適度可維護;紅色評級在0至9之間,表示低可維護性。

1.2 圈復雜度

  它是通過計算程序流中不同代碼路徑的數量來創建的,用來表示一個程序的復雜性。具有復雜控制流的程序需要更多的測試才能獲得良好的代碼覆蓋率,並且不易維護。

  以下兩種情況會在計算圈復雜度時加1:

  •   分支(if、while、do)
  •   switch中的case語句  

  例如:

    //圈復雜度1
    public void Method()
    {
        Console.WriteLine("Hello World!");
    }

    //圈復雜度3
    public void Method(bool condition1, bool condition2)
    {
        if (condition1 || condition2)
        {
            Console.WriteLine("Hello World!");
        }
    }

    
//圈復雜度8 public void Method(DayOfWeek day) { switch (day) { case DayOfWeek.Monday: Console.WriteLine("Today is Monday!"); break; case DayOfWeek.Tuesday: Console.WriteLine("Today is Tuesday!");
break; case DayOfWeek.Wednesday: Console.WriteLine("Today is Wednesday!"); break; case DayOfWeek.Thursday: Console.WriteLine("Today is Thursday!"); break; case DayOfWeek.Friday: Console.WriteLine("Today is Friday!"); break; case DayOfWeek.Saturday: Console.WriteLine("Today is Saturday!"); break; case DayOfWeek.Sunday: Console.WriteLine("Today is Sunday!"); break; } }

1.3 繼承深度

  計算在繼承層次結構中的繼承深度,繼承樹中層次結構越深,類的開發、測試和維護就越復雜,因為層次結構越深,理解特定方法和字段的定義和(或)重新定義的難度也就越大。

1.4 類耦合度

  類耦合是一個類是如何與另一個類連接或依賴的度量。好的做法是總是實現較少的依賴類或低級耦合。

1.5 代碼行數

  表示代碼行數,計數基於IL代碼,因此不是源代碼文件中的確切行數。一個非常高的計數可能表明一種類型或方法試圖做太多的工作,應該分開。它還可能表明類型或方法可能難以維護。

2 計算代碼度量值

Step 01 運行“計算代碼度量值”

技術分享圖片

Step 02 查看“代碼度量值結果”

技術分享圖片技術分享圖片

Step 03 使用“代碼度量值結果”

  篩選:

技術分享圖片

  導出:

技術分享圖片

  列管理:

技術分享圖片

技術分享圖片

  計算代碼度量值:

技術分享圖片

參考文檔:https://www.codeguru.com/csharp/csharp/cs_network/improving-code-quality-with-visual-studio-code-metrics.html

通過 Visual Studio 的“代碼度量值”來改進代碼質量