C#代码检查工具:stylecop


微软的StyleCop作为一款代码分析插件,集成到Visual Studio 2008和Visual Studio
2010之中,可以帮助开发人员迅速地理清编程规范问题。对确保软件质量,确保软件开发效率而言,意义非凡。与同样出自微软的另一款代码分析工具fxcop通过分析程序集来检查各类编程规范错误不同的是,StyleCop是针对C#源代码的分析工具。有点类似java的checkstyle。



StyleCop可以检查代码中的各类静态编程规范错误,从代码注释,代码布局,可维护性,命名规范,可读性等各方面对代码规范性进行检查。重要的是,其规则可以自定义,可以屏蔽掉不适用于特定项目的规则,甚至可以自定义开发适用于各自项目的规则。



安装StyleCop以后,在解决方案视图中右键点击项目,在弹出菜单选择“Run
StyleCop”即可运行代码检查,结果默认将被输出至“Warnings”清单。也可以修改通过配置项,将其输出至“Errors”清单。开发人员可以方便地定位并修改编程规范问题。



StyleCop可以与MSBuild进行集成。这样当开发人员点击“生成”项目时,将自动运行StyleCop检查,无须选择“Run
StyleCop”菜单。而且,通过使用SVNStyleCop插件,可以方便地在SVN库上进行代码check in检查,对不符合代码规范的check
in动作进行回滚。



以下步骤介绍如何集成StyleCop至MSBuild,即让开发人员直接点击“生成”项目就可以进行代码检查:


1,安装MSBuild集成文件。默认情况下,安装StyleCop不会选中安装“MSBuild
files”,因此在安装时,进行到如下步骤时,确保选中“MSBuild files”进行安装。
Installing MSBuild Image

2,在项目文件中增加Import配置节。要使得某个项目可以集成到MSBuild,需要使用诸如NotePad之类的编辑器打开项目文件(.csproj),添加如下红色字体部分,并保存项目文件:
<Project
DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">



  
...Contents Removed...



  <Import
Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />


  <Import
Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets"
/>
 



  
...Contents Removed...



</Project>


重新加载项目之后,该项目即可集成到MSBuild当中了。



StyleCop还可以很方便地集成到团队开发和构建环境,如CI中。


 


SourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性。

  早就听说了微软内部的静态代码检查和代码强制格式美化工具 StyleCop ,昨天(2008-05-23)微软在 MSDN Code Gallery 发布了 4.2 版本,并命名为 Microsoft Source Analysis for C#  。

  SourceAnalysis (StyleCop)不是代码格式化(代码美化)工具,而是代码规范检查工具(Code Review 工具),它不仅仅检查代码格式,而是编码规范,包括命名和注释等。

  SourceAnalysis (StyleCop)目的是帮助项目团队执行一系列常用的源代码格式规范,这些规范是关于如何开发布局规整,易读,易维护并且文档良好的优雅代码的(help teams enforce a common set of best practices for layout, readability, maintainability, and documentation of C# source code)。

  SourceAnalysis (StyleCop) 现在包含了 200 个左右的最佳实践规则(best practice rules),这些规则与 Visual Studio 2005 和  Visual Studio 2008 中默认的代码格式化规则是一致的。

  SourceAnalysis (StyleCop)可以作为 Visual studio 的插件运行,在VS中(我的是2008)对一个C#文件点击右键后的:

  在VS执行后,执行效果如下:

  图片看不清楚?请点击这里查看原图(大图)。

  同时 SourceAnalysis (StyleCop)也可以作为 MSBuild 任务(安装时有选项)通过命令行执行。

  从我现在的了解,SourceAnalysis (StyleCop)只是一个代码格式的检查工具,它会根据预定义的C#代码格式的最佳实践,对我们的源代码进行检查,并给出不符合编码风格的错误提示。这一点来说与微软的另一个代码检查工具 FxCop 很相似,但 FxCop 是对 dll (compiled binaries) 进行检查,所以 FxCop 适用于新项目通过持续集成工具来使用的情况。也就是说 FxCop 是项目级别的,而 SourceAnalysis

  (StyleCop)是代码级别的,更适合于程序员在编程过程中使用。

  与 FxCop 的另一个不同是,SourceAnalysis (StyleCop)不提供灵活的规则设置,而是使用所谓 one-size-fits-all 的方式强制人们用同样的习惯书写代码,因此 SourceAnalysis (StyleCop)的终极目标是:The ultimate goal of Source Analysis is to allow you to produce elegant, consistent code that your team members and others who view your code will find highly readable.

  SourceAnalysis (StyleCop)检查的规则包括:

  布局(Layout of elements, statements, expressions, and query clauses )

  括号位置(Placement of curly brackets, parenthesis, square brackets, etc )

  空格(Spacing around keywords and operator symbols )

  行距(Line spacing )

  参数位置(Placement of method parameters within method declarations or method calls )

  元素标准排列(Standard ordering of elements within a class )

  注释格式(Formatting of documentation within element headers and file headers )

  命名(Naming of elements, fields and variables )

  内置类型的使用(Use of the built-in types )

  访问修饰符的使用(Use of access modifiers )

  文件内容(Allowed contents of files )

StyleCop已经开源:http://stylecop.codeplex.com/


SVNStyleCop请参见:http://svnstylecop.codeplex.com/



转载于:https://www.cnblogs.com/BigMouth/articles/2453102.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值