代码度量值

代码度量是一组软件度量值,使开发人员可以更好地了解他们正在开发的代码。 利用代码度量,开发人员可以了解哪些类型和/或方法应该返工或进行更彻底的测试。 开发团队可以识别潜在的风险、了解项目的当前状态,并跟踪软件开发的进度。

软件度量值

下面的列表显示了 Visual Studio 计算的代码度量结果:

  • 可维护性指数 – 计算一个介于 0 和 100 之间的指数值,表示维护代码的相对容易度。 值越大表示可维护性越好。 彩色编码的等级可用来快速识别代码中的故障点。 绿色等级介于 20 和 100 之间,表示代码的可维护性良好。 黄色等级介于 10 和 19 之间,表示代码的可维护性中等。 红色等级是介于 0 和 9 之间的等级,表示可维护性低。

  • 圈复杂度 – 衡量代码在结构上的复杂程度。 它是通过计算程序流中的不同代码路径数而创建的。 具有复杂控制流的程序需要更多测试才能实现良好的代码覆盖率,并且不容易维护。

    备注

    在某些情况下,Visual Studio 2010 中的方法的圈复杂度计算与早期版本有所不同。有关更多信息,请参见代码度量值问题疑难解答中的“Visual Studio 2010 在代码复杂度计算方面所做的更改”一节。

  • 继承深度 – 指明扩展到类层次结构根的类定义的数目。 层次结构越深,则越难了解特定方法和字段是在何处定义或/和重新定义的。

  • 类耦合 – 通过参数、局部变量、返回类型、方法调用、泛型或模板实例化、基类、接口实现、在外部类型上定义的字段以及特性修饰来衡量与唯一类的耦合程度。 良好的软件设计要求类型和方法应具有较高的内聚力和较低的耦合。 耦合较高表示设计难以重用和维护,这是因为它与其他类型之间存在许多依存关系。

  • 代码的行数 – 指明代码中的大概行数。 该计数基于 IL 代码,因此并不是源代码文件中的确切行数。 计数过高可能表示某个类型或方法正在尝试执行过多的工作,应予以拆分。 还可能表示该类型或方法难以维护。

匿名方法

“匿名方法”就是没有名称的方法。 匿名方法通常用于将代码块作为委托参数进行传递。 在某个成员(如方法或访问器)中声明的匿名方法的度量结果与声明该方法的成员相关联, 而不与调用该方法的成员关联。

有关代码度量如何处理匿名方法的更多信息,请参见匿名方法和代码分析

生成的代码

某些软件工具和编译器会生成一些代码并添加到项目中,而项目开发人员看不到这些代码,或者不能更改这些代码。 在代码度量计算度量值时,通常会忽略生成的代码。 这样,度量值便可以反映开发人员能够看到和更改的内容。

不会忽略为 Windows 窗体生成的代码,因为开发人员可以看到和更改这些代码。

请参见

其他资源

测量托管代码的复杂性和可维护性