前段时间做了一个用到一个微软的免费测试工具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添加规则如图
分享到:
相关推荐
FxCop 1.0,代码规范检查工具,微软代码规范检查工具
FxCop 微软代码分析工具,希望对使用者有帮助,该压缩包里包含安装文件、帮助文档、使用文档......
FxCop中文帮助,从微软的网站上下载,经过整理,共享使用
Microsoft FxCop Install
C#代码规范,里面有很多关于如何写出规范代码的例子。 using System; namespace DesignLibrary { public abstract class BadAbstractClassWithConstructor { // Violates rule: ...
FxCop是一个代码分析工具,它依照微软.NET框架的设计规范对托管代码assembly(可称为程序集,assembly实际上指的就是...它使用基于规则的引擎,来检查出你代码中不合规范的部分;你也可以定制自己的规则加入到这个引擎。
FxCop和Visual Studio X集成,介绍集成方式,可以在代码调试阶段做代码规则检查,纠正编码规范
FxCop是微软提供的一款代码分析工具,它可以帮助你创建优雅、一致的代码。近日,FxCop发布了1.36版本,这个版本中,主要的变化如下: 排除了200多个缺陷 支持对匿名方法和Lambda表达式的分析 提供了对于工具自动...
1、Fxcop使用笔记 .doc 2、FxCop中文帮助.CHM 3、使用FxCop工具分析.doc 4、使用FxCop工具分析.ppt 5、FxCopSetup.exe 包含这个5个文件
FxCop是一个代码分析工具,它依照微软.NET框架的设计规范对托管代码assembly(可称为程序集,assembly实际上指的就是.net中的.exe或者.dll文件
FxCop是微软提供的一款代码分析工具,它可以帮助你创建优雅、一致的代码。近日,FxCop发布了1.36版本,这个版本中,主要的变化如下: 排除了200多个缺陷 支持对匿名方法和Lambda表达式的分析 提供了对于工具自动...
对于.NET开发者来说,如果想进行代码分析而又不想购买昂贵的Visual Studio Premium,那么FXCop是个不错的选择。
fxcop 1.34、1.35、1.36加密比较高,如果你想调用fxcop里的方法就只能用1.32
白盒测试工具FxCop,包括工具和代码。
FxCop是一个代码分析工具...它使用基于规则的引擎,来检查出你代码中不合规范的部分;你也可以定制自己的规则加入到这个引擎。这个工具微软免费提供。最新版需要.NET 2.0支持;此外,也有一个较老的针对.NET1.1的版本。
Lephone FxCop Rules 1.1
FxCop中文帮助文档_可搜索.CHM 之前网站上下载的,但是很乱,并且不能搜索 这个是我自己画时间自己根据下载的版本整理的 重新组织了下目录结构,并添加了注页搜索 Ctrl + F 即可搜索定位
每个check项都有完整的说明和修正办法,应该时刻作为编码的对照表