使用FxCop做代码检查和优化

来源:这里教程网 时间:2026-02-21 13:06:30 作者:

前段时间做了一个用到一个微软的免费测试工具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这个修改是比较麻烦的,除非能之前注意,

相关推荐