代码度量值

新式软件应用程序的复杂性增加也增加了使代码可靠和可维护的难度。 代码度量是一组软件度量值,使开发人员可以更好地了解他们正在开发的代码。 开发人员利用代码度量可以了解应修改哪些类型和/或方法或对其进行更全面的测试。 开发团队可确定潜在风险、了解项目的当前状态以及在软件开发过程中跟踪进度。

开发人员可使用 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 窗体生成的代码,因为这是开发人员可以查看和更改的代码。