Visual Studio 2010中的自定义代码分析
多年以来,一直是微软的.NET代码分析工具FXCop让我们能够创建自定义代码分析规则,但是它所提供的用户体验一直差强人意。它在VS 2010中的版本中做出了一些改进,并提供了更好的集成,然而一些基本的问题依然存在。
多年以来,一直是微软的.NET代码分析工具FXCop让我们能够创建自定义代码分析规则,但是它所提供的用户体验一直差强人意。它在VS 2010中的版本中做出了一些改进,并提供了更好的集成,然而一些基本的问题依然存在。
在PDC 2009上,Michael Shim和Rob Relyea介绍了微软对XAML的未来规划。从长远来看,微软计划统一各种XAML语言和解析器,但现在开发者只能得到针对非UI技术如 Workflow Foundation的XAML 2009。另一方面,新的解析器将带给大家众多新功能以帮助人们分析、操纵或是生成XAML。
FxCop是一个广泛使用的静态代码分析器和策略优化工具,最近微软发布了该产品的最新版本。新版本中修正了许多Bug,并增加了对.NET Framework 3.5语言特性的支持,也从而使得FxCop和VS 2008 SP1中VSTS代码分析引擎有了一样的性能提升。
微软为使用扩展框架System.AddIn的项目准备了一套FxCop规则。连同另一个项目Pipeline Builder,这套规则是使用.NET 3.5框架的开发者必备之物。
在修复了超过200个bug,并显著提升性能之后,该beta版 是许多FxCop用户期盼已久的版本。这个少为人知的代码分析工具,可以检查.NET托管代码装配件,查看其是否符合Microsoft .NET Framework 设计指南 。除可完成基本的库设计和命名规范检查外,在指出多语言全球化处理(globalization)、互操作性(interoperability)和安全等问题领域方面,FxCop尤其具有特殊的价值,而即使经验丰富的开发者也有可能缺乏这些领域的技能。
Visual Studio 2008中新引入的多重目标(Multi-targeting)引发了一系列的问题。因为.NET 3.5对核心程序集的功能进行了扩充,所以在设定目标为.NET 2.0时必须要格外注意。否则应用程序可能在编译时一切正常,不过在运行时却由于缺失方法定义而失败。为了避免这类可能发生的问题,我们可以借助于Krzysztof Cwalina为多重目标编写的FxCop规则。
FXCop具有很多代码分析规则,但微软实际上都使用它们了吗?实际答案是否定的。 David Kean列出了那些被微软开发部门强制执行的FXCop规则。