这段时间确实遇到一个很有意思的问题。众所周知,Codereview是配置管理过程当中一个相当重要的过程,对于提高代码质量来说有着相当重要的作用。上个月开始公司的过程改进已经推进到了配置管理中的CodeReview这个阶段。对此我首先是考察了各种语言下的静态代码分析软件。因为公司所用的语言比较杂,所以为了照顾大多数,C,C++有老牌的PC-lint。java下有CheckStyle。但是C#找来找去就找到了个FxCop。这个时候我就犯难了,因为CodeReview的过程我是设定在Commit代码到SVN的时候执行的,所以需要能够检测单个的源代码文件。而FxCop却是用Dll文件来检测。一来是不适合统一的过程规范,二来是FxCop对公司的老项目的代码肯定会爆出一大堆错误出来,谁看?结果就是把爆出来的错误束之高阁。还不如在Commit代码的时候对提交的几个代码做检测,这样子错误会少很多,就可以发现不规范的地方就返回强迫立即修改,这样子逐步的就能让整个项目趋向于规范的代码。不过搜索了很久都找不到一个能免费使用的CodeReview工具(找到一个,要收钱,一个site的license400多美刀,打劫啊)。随后搜索到一个StyleCop,不过据说是微软的内部工具,不对外开放,还有一个presharp,这个在微软研究院的网站能找到,不过也不提供下载。不过是要一个基于源代码能够通过CommandLine调用的代码检测工具也这么难。
马上08年了,.NET社区的免费工具集合仍然找不到一个依据源代码的静态代码检测工具,不知道如何大家是如何看的,或者还有我不知道的工具出现?或者微软就是不提供这个工具就是要大家花大价钱去买TSFS?
PS:中午抽空给CheckStyle的负责人Oliver发了邮件,下班前得到回复说CheckStyle暂时不支持C#,原来在CheckStyle的文档里说写一个C#的Checker也是一句戏言
难道.NET就只能在编译后才能Codereview么?