VS.NET 2005的代码分析工具
上一篇 /
下一篇 2007-10-10 14:36:17
/ 个人分类:自动错误预防(AEP,Automated Error Prevention)
&Q
E-w/k'Zz0VS.NET 2005的代码分析工具51Testing软件测试网r9U;Wm*I*bi
G MV[*v s^$D0陈能技51Testing软件测试网R!oLl5A2~gI
2007-10-1051Testing软件测试网c-hz2wiJh,E,\
51Testing软件测试网
P#r5C s]VS.NET 2005提供了一个静态代码分析的工具,可以用于分析所写的代码是否满足特定的.NET编码规则,规则包括了安全性、可靠性、可维护性、性能、命名等方面的编码标准。
7CC
L|-b%v0jx5[.X4iY0在项目属性中的代码分析页,选中启动代码分析即可使用代码分析功能。51Testing软件测试网vk*wDq t`%t
51Testing软件测试网 jR8li iMdk^l
!JK-@K)f4pk+J
t051Testing软件测试网?:[.d0dpt设置完后,代码分析会在程序编译后自动启动。当然,也可以在菜单直接选择对项目进行单独的代码分析。51Testing软件测试网0^*?Xu}X3YQ
,iz
H'm
P3Q)`0代码分析结果会在输出窗口显示,例如:51Testing软件测试网_8U,M@j!igb
D:\Test Code\FxCopTest\FxCopTest\Form1.cs(24): warning : CA1818 : Microsoft.Performance : 将Form1.button1_Click(Object, EventArgs):Void 更改为使用StringBuilder 而不使用String.Concat 或+=
w-d)e |Z%S0XJW!T\0代码分析完成-- 0 个错误,个警告
f&OJd^1b~}0A~C#`~+{ {o0也会在错误列表窗口显示如下:
,?-G;}W:?K] o?'?0,aJ$[9}+x7k0
]%w\ek"u:{0在这里,由于我的代码没有按标准规范使用字符串连接,所以提示违反了Performance分类标准的CA1818规则:不要在循环中串联字符串。而我的代码是这样写的:
g$t@.?+A2z(G+Y0tv051Testing软件测试网l:yJo2O string str = "";
a#D5CR*IUG!k01J3A']V!Nw6M0 for (int i = 0; i < 100; i++)
U|X ]a0qD:N4{0 {51Testing软件测试网J ig;|1]5F%lB5oF*L
str += i.ToString();
ih4r;? gm&rjh0 }51Testing软件测试网klc(Sk$^5u
51Testing软件测试网7mb6n.d8i W(f改成使用StringBuilder类的Append方法来连接字符串就可以修复这个对规则的违反,从而排除警告。
:UTP
`@f;b7K&X051Testing软件测试网6D1X-k5a*Fn? B$\+I如果对于某些规则不是很理解,或不知道如何修正,则可以访问MSDN联机帮助,查找规则ID即可,例如上面的就可以查找CA1818,帮助文档会列出这个规则的说明,怎样修复冲突,还可能列出正面和反面的例子说明。51Testing软件测试网6Rd:Ji e&_0j2i
相关阅读:
- 在JScript中运行应用程序 (陈能技, 2007-9-28)
- 利用JScript进行简单的GUI自动化测试 (陈能技, 2007-9-28)
- TestComplete6的新特性 - Checkpoints (陈能技, 2007-9-28)
- TestComplete的一些小技巧 (陈能技, 2007-9-30)
- TestComplete6新特性 - 对Web Services测试的支持 (陈能技, 2007-10-04)
- 内存泄露检查调试工具 - Valgrind (zeus, 2007-10-04)
- TestComplete6新特性 - 代码编辑的增强 (陈能技, 2007-10-05)
- TestDirector移植 (venus1813, 2007-10-09)
- Winrunner破解 (venus1813, 2007-10-09)
- 图片验证码性能测试解决方案『转载』 (51mobile, 2007-10-10)
收藏
举报
TAG:
代码分析
测试工具