多年以来,一直是微软的.NET 代码分析工具 FXCop 让我们能够创建自定义代码分析规则,但是它所提供的用户体验一直差强人意。它在 VS 2010 中的版本中做出了一些改进,并提供了更好的集成,然而一些基本的问题依然存在。
在此之前,你需要了解关于.NET 代码分析的一些情况;没有任何 SDK,微软完全保留了在任何时间对 FXCop API 做出任何改变的权力。这意味着当一段时间过后,VS 11 出现的时候,你需要修改或者干脆重写为 VS 2010 编写的所有自定义规则。这还意味着没有任何文档,只有一些博文和新闻组中的信息。
微软也没有计划将任何内建的代码分析规则在开放或者共享源码的许可之下发布。因此你所编写的所有自定义规则都需要从头做起,即便其中的一个已经几乎达到了你的目的。由于代码分析是计算机科学研究中的热点问题,并且是 Visual Studio Premium 版本的主要卖点之一,因此不会很快就有所改变。
如果你还对其感兴趣的话,那么只能说开发体验还算可以。你只需要继承 BaseIntrospectionRule,重写你关心的方法,并添加相匹配的基于 XML 的元数据文件即可。微软的程序经理 Duke Kamstra 写过一篇介绍如何进行代码分析和代码度量的网志。
长期从事自定义规则编写工作的人会注意到,从VS 2008 开始这个过程有了显著地改变。这是通过支持新的规则集特性做到的,它让我们更易于在多个项目中应用和维护相同的规则。
评论