表示源代码的可维护性,数值越高可维护性越好。该值介于0到100之间。绿色评级在20到100之间,表明该代码具有高度的可维护性;黄色评级在10到19之间,表示该代码适度可维护;红色评级在0至9之间,表示低可维护性。
它是通过计算程序流中不同代码路径的数量来创建的,用来表示一个程序的复杂性。具有复杂控制流的程序需要更多的测试才能获得良好的代码覆盖率,并且不易维护。
以下两种情况会在计算圈复杂度时加1:
例如:
//圈复杂度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; } }
计算在继承层次结构中的继承深度,继承树中层次结构越深,类的开发、测试和维护就越复杂,因为层次结构越深,理解特定方法和字段的定义和(或)重新定义的难度也就越大。
类耦合是一个类是如何与另一个类连接或依赖的度量。好的做法是总是实现较少的依赖类或低级耦合。
表示代码行数,计数基于IL代码,因此不是源代码文件中的确切行数。一个非常高的计数可能表明一种类型或方法试图做太多的工作,应该分开。它还可能表明类型或方法可能难以维护。
筛选:
导出:
列管理:
计算代码度量值:
参考文档:https://www.codeguru.com/csharp/csharp/cs_network/improving-code-quality-with-visual-studio-code-metrics.html