使用Simian检查冗余代码

Posted on 2007-01-12 14:24  麦地那  阅读(4237)  评论(0编辑  收藏  举报
        学习过重构的朋友,一定知道代码的怀味道之一就是“代码冗余”,在我们写代码的过程中,不经意间就会使用拷贝粘贴,最后,发现在程序中充斥这大量的重复代码。




       最近,对我以前的代码进行重构的过程中,我找到了一个比较好用的工具,用它来检查冗余的代码,这个软件名叫“simian”,目前的版本是2.2.12,不光是c#代码,它也可以用来检查C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic等格式的代码。(左侧的那个猴子就是simian的Logo,但好像是只猩猩 ;))
      首先,我们到官方站点上下载最新的版本,注意了,simian并非免费工具,如果你用它来检查开源代码或非商业代码的话,它是免费使用的,如果是商业应用的话,就需要付费了。
      下载完毕后,将文件解压将simian所在的路径添加到windows环境变量path下,同时,将simian-2.2.12.exe的文件名改成simian.exe,这样方便我们的使用,simian是命令行工具,在cmd中运行simian即可:
      
c:\>simian.exe [options] files

下面介绍具体的使用方法
  • 检查包括子目录下的所有的c#文件:
"-recurse=*.cs"
  • 检查当前目录下的所有c#文件 ,并且只检查代码3行以上重复的代码
-threshold=3 "*.cs"
  • 检查所有的c#文件:
"*.cs"

应用举例:
  • 在c:\project\src下有一个名为sample.cs的文件,如果想检查该文件中是否存在冗余代码,命令行如下:
           c:\project\src> simian "sample.cs"
  •  想检查c:\project\src下的所有cs文件,包括子目录中存在的冗余代码,命令行如下:
           c:\project\src> simian "-recurse=*.cs"

以 上就是对simian的一个初步的介绍,由于是命令行的缘故,输出的信息看起来不是很直观,如果直接从命令中查看结果的话,会很痛苦的,不过幸运的是,已 经有了集成在eclipse中的插件了,在dotnet阵营里,大家如果使用Sharpdevelop作为开发工具的话,可以使用我写的一个小插件,这个插件可以很直观的查看simian输出的结果。接下来,我也有文章介绍这个插件。
(完)

Copyright © 2024 麦地那
Powered by .NET 9.0 on Kubernetes