欢迎加入TIB自动化测试快讯邮件列表:http://163.fm/17jBHlI

VS.NET 2005的代码分析工具

上一篇 / 下一篇  2007-10-10 14:36:17 / 个人分类:自动错误预防(AEP,Automated Error Prevention)

51Testing软件测试网 a2j.B;yh'J

VS.NET 2005的代码分析工具

/YECKJ%jq7ts.I051Testing软件测试网E5MlQ-tFjc

陈能技51Testing软件测试网^bq/Fn U?V
2007-10-1051Testing软件测试网jd7?q~ h9_ at%f

_)O%Q1Coe0E"^W0VS.NET 2005提供了一个静态代码分析的工具,可以用于分析所写的代码是否满足特定的.NET编码规则,规则包括了安全性、可靠性、可维护性、性能、命名等方面的编码标准。

-V"W,pxg(d4b051Testing软件测试网Y+\0Rtp9d6SC

在项目属性中的代码分析页,选中启动代码分析即可使用代码分析功能。51Testing软件测试网AXl7NFX)\A

:k0k/DaF;V,NhW`0

7P e+Q(T9?k3^ vg0

P?*S)@7O e5ZI |+x3w0设置完后,代码分析会在程序编译后自动启动。当然,也可以在菜单直接选择对项目进行单独的代码分析。51Testing软件测试网6\PEn4~ w.D

fhJ Gp:P_Gik0代码分析结果会在输出窗口显示,例如:
l ueL)vt^Ox0D:\Test Code\FxCopTest\FxCopTest\Form1.cs(24): warning : CA1818 : Microsoft.Performance : 将Form1.button1_Click(Object, EventArgs):Void 更改为使用StringBuilder 而不使用String.Concat 或+=
-v"m[D4^0代码分析完成-- 0 个错误,个警告51Testing软件测试网,g [ Z wQ

51Testing软件测试网)j6Nr-|}-B#Ml5V

也会在错误列表窗口显示如下:51Testing软件测试网2P0DSYZ y4Vi&V,WI

M'C*nsa n0
6fI^5P!|{"O(Iw0在这里,由于我的代码没有按标准规范使用字符串连接,所以提示违反了Performance分类标准的CA1818规则:不要在循环中串联字符串。而我的代码是这样写的:

,KML$B6n&J.Wdi3j0

/j6@!C2|IO5Dp0            string str = "";

b;vba Sv_:N051Testing软件测试网2hHYOxH

            for (int i = 0; i < 100; i++)
3sR4LSOd3y m#ls"h0            {
C/WzRA0                str += i.ToString();51Testing软件测试网Dd:Mz1d9Z
            }

-?v]U @x051Testing软件测试网#t1k`8T,X `|U"F`2A

改成使用StringBuilder类的Append方法来连接字符串就可以修复这个对规则的违反,从而排除警告。51Testing软件测试网'szxN)K:t

51Testing软件测试网v{{Cve Ko y

如果对于某些规则不是很理解,或不知道如何修正,则可以访问MSDN联机帮助,查找规则ID即可,例如上面的就可以查找CA1818,帮助文档会列出这个规则的说明,怎样修复冲突,还可能列出正面和反面的例子说明。51Testing软件测试网^0D2XS W*a`


TAG: 代码分析 测试工具

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar