c#代码规范和质量检查工具这点事

代码风格检查:StyleCop

代码缺陷检查:FxCop

代码质量: 代码度量值/Code Metrics

StyleCop

介绍

The StyleCop tool provides warnings that indicate style and consistency rule violations in C# code. The warnings are organized into rule areas such as documentation, layout, naming, ordering, readability, spacing, and so forth. Each warning signifies a violation of a style or consistency rule.

安装

这个工具不是集成在VS中,需要单独安装

http://stylecop.codeplex.com/

不同的VS版本安装对应的即可

分析项的设置

设置检查的项:不检查的不选择即可

如一般的SA1200不选

Settings.StyleCop的优先顺序

项目目录下Settings.StyleCop设置项优先,然后合并安装目录下的Settings.StyleCop设置项

根据以上可知,在一个小组内应用一样的检查的步骤:

使用以上步骤设置检查的内容,可以在项目目录下看到Settings.StyleCop,将这个文件分发给所有人,覆盖安装目录下的C:Program FilesMicrosoft StyleCop ***下的这个文件即可

分析

项目上右键选择菜单“Run StyleCop”,可以看到分析结果

具体的分析问题解决方法:

在C:Program FilesMicrosoft StyleCop ***DocsStyleCop.chm文档的索引栏目输入SA*,可以查看原因和规范方法

FxCop

介绍

代码分析工具,帮助您检测和更正代码缺陷。

托管代码代码分析工具分析托管程序集并报告有关程序集的信息,例如 Microsoft .NET Framework 设计准则中规定的编程和设计规则的冲突。分析工具将它在分析期间执行的检查表示为警告。

本工具集成在VS

设置和使用

Ø 分析中的错误信息如CA0001,直接在MSDN可以查到问题的描述和解决方法

Ø 由于分析的过程速度较慢,最好不要在DEBUG模式下设置“生成时启动代码分析”,DEBUG状态可根据需要,如代码编写完成测试好的情况下,从菜单手工分析进行修改;然后切换到Release模式下进行生成和分析,查看软件运行情况后,签入代码

代码度量值/Code Metrics

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vsetsa01/html/952b6f2e-584f-4c97-a5ba-42d7bd47a576.htm

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

c#代码规范和质量检查工具这点事的更多相关文章

  1. C# 代码规范和质量检查工具 StyleCop.Analyzers

    简介 原来一直用 ReSharper 来进行代码质量检查,不过毕竟是收费的,所以想找个免费的可以推广给公司的同事也一起用.搜索了一下,找到了StyleCop,但是我在 VS 2015里安装 Style ...

  2. C#代码规范和质量检查工具

    代码风格检查:StyleCop The StyleCop tool provides warnings that indicate style and consistency rule violati ...

  3. Java静态检测工具/Java代码规范和质量检查简单介绍(转)

    静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...

  4. Eclipse-Java代码规范和质量检查插件-Checkstyle

    CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代码规范检查过程,从而使得开发人员从这项重要但枯燥的任务中解脱出来.它可以根 ...

  5. python代码规范 自动优化工具Black

    自动优化工具Black 在众多代码格式化工具中,Black算是比较新的一个,它***的特点是可配置项比较少,个人认为这对于新手来说是件好事,因为我们不必过多考虑如何设置Black,让 Black 自己 ...

  6. Eclipse-Java代码规范和质量检查插件-FindBugs

    FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具.FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析.FindBug ...

  7. Eclipse-Java代码规范和质量检查插件-SonarLint

    SonarQube(Sonar)之前的提供的本地工具是需要依赖SonarQube服务器的,这样导致其运行速度缓慢. 新出的SonarLint的扫描引擎直接安装在本地,速度超快,实时探测代码技术债务,给 ...

  8. Java代码规范和质量检查插件-Checkstyle(官方资源)

    其实Checkstyle是一个JAR包,然后第三方开发者开发了Eclipse/IDEA的插件. 官网: https://github.com/checkstyle/checkstyle Eclipse ...

  9. Eclipse-Java代码规范和质量检查插件-PMD

    PMD是一个源代码分析器. 它发现常见的编程缺陷,如未使用的变量.空catch块.不必要的对象创建等等. 它支持Java.JavaScript.Salesforce.com Apex.PLSQL.Ap ...

随机推荐

  1. AFNetwork学习(二)——GET/POST请求

    为了学习AFNetwork,自己搭建整理了一下AFNetwork向后台发送请求和后台返回json数据的整个处理过程.利用Struts2搭建了一个后台,提供Action并返回json数据 环境:Xcod ...

  2. delphi之完美Splash方案(在TfrmMain.FormCreate里不断调用TfrmSplash显示加载进度文字,并且及时Update显示)

    前言:网上有很多介绍delphi创建闪屏的代码,大多只是在程序开启前显示一个闪屏,但是却没有说如何在闪屏上显示程序加载的进度,于是笔者有意思介绍一下这种闪屏方式. 1.创建一个窗体(TfrmSplas ...

  3. [置顶] location.href你真的会用了?

    *.location.href 用法: top.location.href=”url”          在顶层页面打开url(跳出框架) self.location.href=”url”       ...

  4. Swift - 触摸事件(点击,移动,抬起等)说明及用例

    在iOS开发中,UIGestureRecognizer可以方便的响应处理手势事件. 而如果要想更精细的处理,我们还需要借助touchesBegan,touchesMoved,touchesEnded等 ...

  5. 【Demo 0007】导航控制器

    本章学习要点       1.  了解导航控制器基本知识:       2.  掌握导航控制器基本用法:       3.  掌握导航控制器基本用法; 

  6. json转换成list map集合

    import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Set; i ...

  7. Hide C# winform App Window When Started by Task Scheduler

    To make a Scheduled Task run in the background, change the User running the task to "SYSTEM&quo ...

  8. 高级Bash脚本编程指南(27):文本处理命令(三)

    高级Bash脚本编程指南(27):文本处理命令(三) 成于坚持,败于止步 处理文本和文本文件的命令 tr 字符转换过滤器. 必须使用引用或中括号, 这样做才是合理的. 引用可以阻止shell重新解释出 ...

  9. 每次调用fork()函数之后,父线程和创建出的子线程都是从fork()后开始执行

    Linux下多少个"-"将被打印: 1 2 3 4 5 6 7 8 int main(void){   int i;   for(i=0;i<4;i++){   fork() ...

  10. Oracle heap 表的主键 dump 分析

    1. 创建heap 表: create table t1 (id char(10) primary key,a1 char(10),a2 char(10),a3 char(10)); SQL> ...