VS.NET 2005的代码分析工具
VS.NET 2005提供了一个静态代码分析的工具,可以用于分析所写的代码是否满足特定的.NET编码规则,规则包括了安全性、可靠性、可维护性、性能、命名等方面的编码标准。
在项目属性中的代码分析页,选中启动代码分析即可使用代码分析功能。
设置完后,代码分析会在程序编译后自动启动。当然,也可以在菜单直接选择对项目进行单独的代码分析。
代码分析结果会在输出窗口显示,例如:软件测试专业网站:51Testing软件测试网!HeUg)y
D:/Test Code/FxCopTest/FxCopTest/Form1.cs(24): warning : CA1818 : Microsoft.Performance : 将Form1.button1_Click(Object, EventArgs):Void 更改为使用StringBuilder 而不使用String.Concat 或+=
W"G{DJS3}0代码分析完成-- 0 个错误,个警告
也会在错误列表窗口显示如下:
软件测试专业网站:51Testing软件测试网;S+a0g:Y1i(}w$? D%`A/r*q q
在这里,由于我的代码没有按标准规范使用字符串连接,所以提示违反了Performance分类标准的CA1818规则:不要在循环中串联字符串。而我的代码是这样写的:
string str = "";
for (int i = 0; i < 100; i++)软件测试专业网站:51Testing软件测试网 V'd+V0LTlz
{软件测试专业网站:51Testing软件测试网:pnf;]7ilS0E QM
str += i.ToString();软件测试专业网站:51Testing软件测试网O+i*N z*T-}
}
改成使用StringBuilder类的Append方法来连接字符串就可以修复这个对规则的违反,从而排除警告。
如果对于某些规则不是很理解,或不知道如何修正,则可以访问MSDN联机帮助,查找规则ID即可,例如上面的就可以查找CA1818,帮助文档会列出这个规则的说明,怎样修复冲突,还可能列出正面和反面的例子说明。