[转载]VS2008 的计算代码度量值

VS2008 里面加了一个 计算代码度量值的功能,那么到底是什么呢?我在msdn 里找到了这个,拷贝下来做个记录。 

摘自 http://msdn.microsoft.com/zh-cn/library/bb385914.aspx

Visual Studio Team System

代码度量概述

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

 软件度量值

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

  • 可维护性指数 – 计算一个介于 0 和 100 之间的指数值,表示维护代码的相对容易度。值越大表示可维护性越好。
  • 圈复杂度 – 衡量代码在结构上的复杂程度。它通过计算程序流中的不同代码路径的数目来创建。具有复杂控制流的程序需要更多测试才能实现良好的代码覆盖率,并且不容易维护。
  • 继承深度 – 指明扩展到类层次结构根的类定义的数目。层次结构越深,则越难了解特定方法和字段是在何处定义或/和重新定义的。
  • 类耦合 – 通过参数、本地变量、返回类型、方法调用、泛型或模板实例化、基类、接口实现、在外部类型上定义的字段以及属性修饰来衡量与唯一类的耦合。良好的软件设计要求类型和方法应具有较高的内聚力和较低的耦合。耦合较高表示设计难以重用和维护,这是因为它与其他类型之间存在许多依存关系。
  • 代码的行数 – 指明代码中的大概行数。该计数基于 IL 代码,因此并不是源代码文件中的确切行数。计数过高可能表示某个类型或方法正在尝试执行过多的工作,应予以拆分。还可能表示该类型或方法可能难以维护。

 匿名方法

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

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

 生成的代码

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

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

 “代码度量结果”窗口

当 Visual Studio 分析代码后,将在“代码度量结果”窗口中显示结果。该窗口顶部有一个工具栏,还有一些用于显示计算结果的列。

“层次结构”列包含一个代码层次结构树视图,您可以展开或折叠此视图以查看所需的详细信息级别。其余各列显示计算的结果。您可以根据需要隐藏或排列结果列。有关更多信息,请参见如何:添加、移除列或对列进行重排

“可维护性”列中除了数字结果外还包含一个图标。绿色图标表示可维护性程度相对较高。黄色图标表示中等可维护性程度。红色图标表示可维护性低或存在潜在的故障点。这些颜色指示符与 FxCop 规则 AvoidUnmaintainableCode 所使用的严重级别相对应。如果可维护性指数低于 10,则此规则将激发错误;如果指数介于 10 和 20 之间,则激发警告;如果指数高于 20,则既不激发错误,也不激发警告。可维护性指数是以下三种度量值的综合体现:圈复杂度、代码行数以及算术复杂度。可维护性指数的值没有单位。

您可以按任何列对该窗口中的结果进行排序。若要进行排序,请单击列标题。再次单击该列标题,该窗口将按相反的顺序排序。

时间: 2024-09-09 11:20:09

[转载]VS2008 的计算代码度量值的相关文章

在数据仓库建模时,应该使用哪种数据类型的度量值

在数据仓库建模中,很重要的模型就是星型模型,在星型模型中我们将表分为维度表和事实表,事实表中存放的可以进行计算(汇总,平均等)的列就是度量值.要进行计算的度量值,可以选择的数据类型也有好多种,那么我们应该选择哪一种呢? 首先定个大的方向,是整数还是小数?如果是整数,那么我们可以选择的数据类型就只有int和bigint了,16位或者8位的整数基本不用考虑,在数据仓库这种大数据量的环境下,很容易就overflow了.即使是int这种32位的整数,在数据量特别大的情况下,如果要做sum甚至是avg操作

php mysql日期计算代码[datediff]

呵呵,下面代码有一点乱啊,是我在测试时做的,php mysql日期计算代码[datediff]也是我今天需要时才来试的喽.下面看看代码 function a($d){ $Date_1=date("Y-m-d");   $Date_2=$d; $Date_List_a1=explode("-",$Date_1);   $Date_List_a2=explode("-",$Date_2); $d1=mktime(0,0,0,$Date_List_a1

耗时计算-请教一下Matlab怎么计算代码的执行耗时

问题描述 请教一下Matlab怎么计算代码的执行耗时 Matlab怎么计算代码的执行耗时,要求支持code generation 不要说coder.extrinsic 'tic','toc',这个不支持code generation 解决方案 Profile(分析) 在加速你的matlab程序之前,你需要知道你的代码哪一部分运行最慢.matlab提供个简单的机制,让你能够知道你 的代码的某一部分运行所占用CPU时间.通过在代码段开始添加tic,及在结束添加toc:matlab就能计算出这一代 码

[推荐系统]余弦计算相似度度量

余弦计算相似度度量 相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大. 对于多个不同的文本或者短文本对话消息要来计算他们之间的相似度如何,一个好的做法就是将这些文本中词语,映射到向量空间,形成文本中文字和向量数据的映射关系,通过计算几个或者多个不同的向量的差异的大小,来计算文本的相似度.下面介绍一个详细成熟的向量空间余弦相似度方法计算相似度 向量空间余弦相似度(Cosine Similarity) 余弦相似度用向

azure-Azure虚拟机监视器该服务器无法检索度量值

问题描述 Azure虚拟机监视器该服务器无法检索度量值 新建的虚拟机打开监视器同样提示该服务器无法检索度量值,这是怎么回事? 解决方案 等10分钟,系统初始化的时候无法显示度量值.

ublox6卫星伪距改正数的计算代码求给一个

问题描述 ublox6卫星伪距改正数的计算代码求给一个 我最近在做ublox6的卫星伪距改正数的计算,解析出来的伪距是2W多公里,这个是基本正确的,但是在用解析出来的星历计算卫星真实距离的时候计算出来的是3W多公里,这样伪距改正数就成了1W公里左右,差距太大了. 各位大神有相关类代码吗?发给我个,我参考下,真的很感谢. 邮箱是443703349@qq.com 解决方案 这个太高端饿了,完全没听过

asp.net放贷计算代码-请教asp.net中放贷计算代码

问题描述 请教asp.net中放贷计算代码 asp.net放贷计算代码asp.net放贷计算代码asp.net放贷计算代码asp.net放贷计算代码 解决方案 google下就有.房贷写错了,这影响你搜索结果的相关性 随便找一个http://download.csdn.net/download/cxd19880708/4039426 别的你也可以自己找.总之,学会自己google.

SSAS:实现Cube 以及角色扮演维度,度量值格式化和计算成员的创建

在熟悉完下面这三种维度的创建方式之后,就可以开始创建我们的第一个 Cube 了. SSAS 系列 - 自定义的日期维度设计 SSAS 系列 - 基于雪花模型的维度设计 SSAS系列 - 关于父子维度的设计 我们将使用下面的这些脚本来创建一些维度表和事实表,数据源的来源是 AdventureWorksDW2012, 但由于数据列太多因此我精简了一些表并且自定义了 DimDate 表. USE BIWORK_SSIS GO SET NOCOUNT ON IF OBJECT_ID('FactInter

android实现简单的乘法计算代码_Android

开发环境:android4.1. 实验功能:在第一个界面中的2个乘数输入处分别输入2个数字,按下结果button,会自动跳到第二个界面并显示输入2个数字相乘的结果.如果在第一个界面中点击系统的menu按钮,则会自动弹出一个菜单,菜单栏包括退出和关于2个按钮,点击退出按钮,则退出了该程序. 实验说明:1.  第1个activity的步骤大概如下:创建一个监听器.创建一个intent,并将获取到的2个输入数字分别以键值对的形式输入intent.连接第1个activity和第2个activity.启动