Simian这个冗余代码检查工具,目前的版本是2.2.24,不光是c#代码,它也可以用来检查C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic等格式的代码。simian并非免费工具,如果你用它来检查开源代码或非商业代码的话,它是免费使用的,如果是商业应用的话,就需要付费了。

微软web2.0开发示例​​Kobe​​​,重蹈了​​Oxite​​​的覆辙。​​Ayende​​​连续发表了五篇高质量的​​Kobe​​探讨贴:

​Ayende​​​使用​​Simian​​工具对代码进行静态分析,发现位于67个文件中的873个方法共有5138行代码是重复的。进入正题,介绍一下Simian这个冗余代码检查工具,目前的版本是2.2.24,不光是c#代码,它也可以用来检查C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic等格式的代码。simian并非免费工具,如果你用它来检查开源代码或非商业代码的话,它是免费使用的,如果是商业应用的话,就需要付费了。  

使用方法:

    到官方站点上​​下载​​最新的版本,下载完毕后,将文件解压,将simian所在的路径添加到windows环境变量path下,同时,将simian-2.2.24.exe的文件名改成simian.exe,这样方便我们的使用,simian是命令行工具,在cmd中运行simian即可:

c:\>simian.exe [options] files


下面介绍具体的使用方法:
  • 检查包括子目录下的所有的c#文件:

"-includes=*.cs"

  • 检查当前目录下的所有c#文件 ,并且只检查代码3行以上重复的代码

-threshold=3 "*.cs"

  • 检查所有的c#文件:

"*.cs"

使用命令行输出的话,对于代码的定位不是很方便,可以通过Visual Studio的外部工具(参看​​http://blogs.conchango.com/howardvanrooijen/archive/2006/02/08/2776.aspx​​​)或者​​Howard van Rooijen's​​​ 写的一个工具​​MonkeyWrangler​​​。也可以整合到持续集成中,可参看​​DotNet持续集成环境构建及配置之安装篇​​​,​​DotNet持续集成环境构建及配置之配置篇​​。