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

最新文章

  1. 基于ubuntu 14搭建nginx+php+mysql环境
  2. Win7 DCOM 配置中我的电脑出现红色箭头并且无属性显示的解决方法
  3. [ActionScript 3.0] AS3 获取某年某月的天数(Get number of days in a month)
  4. String的intern方法的用处
  5. Oracle数据库的下载和安装
  6. Excel和notepad++加之更换
  7. [翻译]Webpack解惑
  8. 微信小程序后端开发(Java语言)笔记
  9. java集合继承关系图
  10. git checkout --theirs(ours)
  11. PythonStudy——内存管理机制 Memory management mechanism
  12. CentOS_mini下安装docker 之 安装docker CE
  13. grid - 网格项目跨行或跨列
  14. 大数据入门到精通5--spark 的 RDD 的 reduce方法使用
  15. Codeforces 709B 模拟
  16. 关于LIS和LCS问题的o(nlogn)解法
  17. [CF613D]Kingdom and its Cities
  18. 【Rocket MQ】RocketMQ 在windows7 64位安装使用 +RocketMQ管理界面的安装
  19. 性能优化之_android布局优化
  20. CPU调度

热门文章

  1. Verify the Developer App certificate for your account is trusted on your device.
  2. kvm虚拟化之convirt集中管理平台搭建
  3. jmeter5.1.1启动提示not able to find java executable or version的解决办法
  4. [Objective-C语言教程]类和对象(24)
  5. mxonline实战11,课程详情页2,课程章节页
  6. day 08 课后作业
  7. windows 域的安装方法
  8. JavaScript变量那些事
  9. 编程开发之--java多线程学习总结(6)
  10. Python【每日一问】16