通过 Visual Studio 的“代码度量值”来改进代码质量

原文:通过 Visual Studio 的“代码度量值”来改进代码质量

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

原文地址:https://www.cnblogs.com/lonelyxmas/p/8125891.html

时间: 2024-10-09 11:43:14

通过 Visual Studio 的“代码度量值”来改进代码质量的相关文章

通过Visual Studio 的“代码度量值”来改进代码质量

1 软件度量值指标 1.1 可维护性指数 表示源代码的可维护性,数值越高可维护性越好.该值介于0到100之间.绿色评级在20到100之间,表明该代码具有高度的可维护性:黄色评级在10到19之间,表示该代码适度可维护:红色评级在0至9之间,表示低可维护性. 1.2 圈复杂度 它是通过计算程序流中不同代码路径的数量来创建的,用来表示一个程序的复杂性.具有复杂控制流的程序需要更多的测试才能获得良好的代码覆盖率,并且不易维护. 以下两种情况会在计算圈复杂度时加1: 分支(if.while.do) swi

如何在Visual Studio和CodeBlocks中反编译C++代码

在Visual Studio中 第一步:打断点 第二步:Debug->Star Debugging 或直接按"F5" 第三步:Debug->Windows->Disassembly,如下图 第四步:汇编代码已经出来了-- 在CodeBlocks中 第一步:打断点 第二步:Debug->Start/Continue,或者按"F8" 第三步:Debug->Debug windows->Disassembly 第四步,汇编代码已经出来了

如何在Visual Studio Code中调用浏览器运行HTML代码

微软刚发布的Visual Studio Code还不支持安装扩展,没有内置的HTML预览功能.如果想要编辑HTML之后直接运行,可以 ctrl+shift+p 搜索 Configure Task Runner. 回车之后打开 tasks.json,修改一下: {     "version": "0.1.0",     "command": "explorer",     "windows": {      

使用Visual Studio编写Unity脚本时不联想代码的解决办法

1.Unity版本5.6.6      Visual Studio2019 2.点击Unity编辑器的Edit->Preferences->External Tools->External Script Editor 如果没有显式所使用的VS,则点击Browser手动添加VS的exe文件: D:\VS\Common7\IDE\devene.exe (VS是你的visual studio安装的文件夹) 原文地址:https://www.cnblogs.com/YillSmile/p/122

Visual Studio Code使用tab自动补全代码

今天用VSC敲ng的时候,发现有很多小伙伴不知道怎么用tab自动在ts中补全代码!好吧,那就为新手发个福利了. 先在设置中搜索emmet,这个都知道是干嘛的吧~ 找到: // 在默认不支持 Emmet 的语言中启用 Emmet 缩写功能.在此添加该语言与支持 Emmet 的语言之间的映射. // 示例: {"vue-html": "html", "javascript": "javascriptreact"} "em

visual studio code(vscode) 配置在terminal进行运行代码并且支持c++11特性

1.点击设置 点击CodeRunner的小齿轮,点击configure extension settings 2.点击映射 点击executor map中的Edit in settings.json 3.粘贴代码 粘贴如下代码,按下command + s 进行保存 { "code-runner.runInTerminal": true, "C_Cpp.default.cppStandard": "c++11", "code-runner

【Visual Studio】“rc.exe”已退出,代码为 5 ("rc.exe" exited with code 5.)

[解决方案]找到 rc.exe 所在目录,然后 方法1:添加该目录到 VC++ Directories --> Executable Directories中 方法2:添加到系统变量中的Path变量后面;"rc.exe所在目录"

Visual Studio 2010: 调试引用的dll的代码?

right click the solution in the Solution Explorer-> Properties->  Debug ->Enable Debuggers-> Enable unmanaged code debugging

Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力)

前文提到过一个神器叫Resharper,功能强大.编码效率和代码质量那是蹭蹭的涨,可是神器的最大问题是太耗费资源了,每次系统提示内存不足的时候,那叫一个纠结啊.因此每次新的VS公布的时候都不由自主的查看是否增强编辑功能,不由自主的讨论一番,这次VS2015也不例外. 去年微软放出Roslyn的时候,微软就以前放出过一个"尝鲜"版的VS编辑增强功能,恰恰就是重构(reflector).话说这个对控件开发太实用了,可是之前仅仅有纠结的Resharper才有的.尽管它也不是非常完整,当时还鼓