`

使用FxCop做代码检查和优化

阅读更多

前段时间做了一个用到一个微软的免费测试工具FxCop,使用后觉得还不错,能进行一些代码方面的自动测试,同时有帮助学习编码规范和提高代码执行效率,从而提高代码的整体质量.

这个工具能测试到的地方有: Design(设计),Globalization(全球化),Interoperability(互操作性), Naming(命名),Performance(性能规则),也可以自己加入规则进行测试;

工具还是很好用的,很快就上手了
有几点小技巧
1 可以自定义错误的规则,建议取消掉globalizationrules,securityrules等规则

2点中问题的连接,后可以直接连接到有代码问题的代码上

3可以看看breaking的Info注释,里面有比较好的解决方法


检查后修改的代码有

1 Class的命名规则

2 判断字符为空由
if (strStartValue.ToString() == "")
改为
if(strStartValue.Length() == 0))


3比较字符串的时候
dr["PrefixM"].ToString().ToLower() == "mm" 改用String.Compare(strPrefix, "yy", true) == 0的方法


4 删除掉方法中定义而未使用的参数

5 删除无效的赋值

5 DataReader中未关闭(其他程序中的)

6 提示删除程序中未使用到的方法

7 提示 catch 需要指定具体的Exception ,这样可以节约捕获Exception 时内存的使用

8 刪除多余的using 引用

遇到的问题有
1 有大量的Globalization 要求,但是平时是没有注意到的,虽然开发的程序要求支持多语言
strMonth = StartDateValue.Month.ToString();

这样都会提示需要多语言的支持

2 程序未有AssembliesShouldDeclareMinimumSecurity定义
需要做签名,但是这个一般是平时没有注意的

3 CLR编写的存储过程需要有out参数,但是也会提示出来,所以需要制定一套比较详细的规则

4 在循环中有string相加的地方都提示要用stringbuilder这个修改是比较麻烦的,除非能之前注意,

觉得比较好的资料可以参考
http://www.cnblogs.com/zhengyun_ustc/archive/2005/08/09/FxCop001.html
规则
http://www.cnblogs.com/Hedonister/articles/231878.html
FxCop的工具下载连接:
http://www.gotdotnet.com/team/fxcop/

定制FxCop规则示例:
http://www.iocblog.net/static/2007/414.html

FxCop添加规则如图

分享到:
评论

相关推荐

    FxCop10.0代码检查工具

    FxCop 1.0,代码规范检查工具,微软代码规范检查工具

    FxCop 代码分析工具

    FxCop 微软代码分析工具,希望对使用者有帮助,该压缩包里包含安装文件、帮助文档、使用文档......

    FxCop中文帮助,代码检查C#代码的的帮助

    FxCop中文帮助,从微软的网站上下载,经过整理,共享使用

    FxCop

    Microsoft FxCop Install

    FxCop(C#代码规范)

    C#代码规范,里面有很多关于如何写出规范代码的例子。 using System; namespace DesignLibrary { public abstract class BadAbstractClassWithConstructor { // Violates rule: ...

    FxCop代码质量控制

    FxCop是一个代码分析工具,它依照微软.NET框架的设计规范对托管代码assembly(可称为程序集,assembly实际上指的就是...它使用基于规则的引擎,来检查出你代码中不合规范的部分;你也可以定制自己的规则加入到这个引擎。

    FxCop和Visual Studio X集成

    FxCop和Visual Studio X集成,介绍集成方式,可以在代码调试阶段做代码规则检查,纠正编码规范

    代码分析工具FxCop v1.36发布

    FxCop是微软提供的一款代码分析工具,它可以帮助你创建优雅、一致的代码。近日,FxCop发布了1.36版本,这个版本中,主要的变化如下: 排除了200多个缺陷 支持对匿名方法和Lambda表达式的分析 提供了对于工具自动...

    Microsoft FxCop 1.36 Setup 2010-05-04 13:14

    1、Fxcop使用笔记 .doc 2、FxCop中文帮助.CHM 3、使用FxCop工具分析.doc 4、使用FxCop工具分析.ppt 5、FxCopSetup.exe 包含这个5个文件

    FxCop整套资料下载

    FxCop是一个代码分析工具,它依照微软.NET框架的设计规范对托管代码assembly(可称为程序集,assembly实际上指的就是.net中的.exe或者.dll文件

    代码分析工具FxCop v1.36

    FxCop是微软提供的一款代码分析工具,它可以帮助你创建优雅、一致的代码。近日,FxCop发布了1.36版本,这个版本中,主要的变化如下: 排除了200多个缺陷 支持对匿名方法和Lambda表达式的分析 提供了对于工具自动...

    代码分析工具 FXCop 10

    对于.NET开发者来说,如果想进行代码分析而又不想购买昂贵的Visual Studio Premium,那么FXCop是个不错的选择。

    FxCop 1.32(C#引用其自带的dll 开放度高)

    fxcop 1.34、1.35、1.36加密比较高,如果你想调用fxcop里的方法就只能用1.32

    白盒测试工具FxCop

    白盒测试工具FxCop,包括工具和代码。

    Fxcop规则说明文档

    FxCop是一个代码分析工具...它使用基于规则的引擎,来检查出你代码中不合规范的部分;你也可以定制自己的规则加入到这个引擎。这个工具微软免费提供。最新版需要.NET 2.0支持;此外,也有一个较老的针对.NET1.1的版本。

    fxcop规则下载(Lephone FxCop Rules 1.1)

    Lephone FxCop Rules 1.1

    FxCop中文帮助文档_可搜索.CHM

    FxCop中文帮助文档_可搜索.CHM 之前网站上下载的,但是很乱,并且不能搜索 这个是我自己画时间自己根据下载的版本整理的 重新组织了下目录结构,并添加了注页搜索 Ctrl + F 即可搜索定位

    从FxCop归纳出来的一些规范建议

    每个check项都有完整的说明和修正办法,应该时刻作为编码的对照表

Global site tag (gtag.js) - Google Analytics