冗余代码检查工具Simian
微软web2.0开发示例Kobe,重蹈了Oxite的覆辙。Ayende连续发表了五篇高质量的Kobe探讨贴:
- Kobe – In the nuts & bolts and don’t really liking it
- Kobe – Data Access done wrong
- Kobe – When the documentation is the only delivery that matters
- Kobe – an example of exception handling done wrong
- Kobe – Architectural Overview
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持续集成环境构建及配置之配置篇。
欢迎大家扫描下面二维码成为我的客户,扶你上云

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2008-05-24 Enterprise Library 4 缓存快速入门
2008-05-24 替换EnterPrise Library 4.0 缓存应用程序块的CacheManager
2008-05-24 Enterprise Library 4.0缓存应用程序块
2008-05-24 Gallio 自动化测试平台
2006-05-24 MSBuild Community Tasks Project
2006-05-24 XML Serializable Generic Dictionary