2011-08-02 99 views
3

我正在管理一个在php项目上工作的三个实习生组。他们似乎不擅长重构,并且在多个地方使用重复代码。我正在寻找一个工具,我可以用它来找到这个重复的代码,以便我可以显示它们。查找并删除重复的代码

这会让我的工作更轻松,而且项目更优雅,更不易出错。任何线索?

+0

我认为这是一个好主意,教你的实习生代码重用和东西像面向对象的编程和设计。 – Nishant

+0

如果您选择了解您正在编码的语言的克隆检测器,则可以获得更好的重复检测。您使用的是哪种语言? –

回答

2

有一个叫做PMD找到重复代码非常好的工具。这里是一个link to the site

+1

老歌,goldies。希望找到跨项目代码复制,将所有相关代码复制到临时文件中。 dir。,下载PMD并运行./bin/run.sh cpd - 最小令牌100 - 文件/ tmp/tmpsrc。奇迹般有效! –

0

见我们CloneDR工具。它在大型软件系统中发现重复的代码,使用编译器精确的分析来查找由语言语法(AST匹配)指导的匹配,忽略空白和换行符的更改。它会找到确切的重复项和重复项。对于近似重复的情况,它报告了近似误差作为参数的差异;它几乎告诉你如何为克隆编码替换子程序。 CloneDR运行于各种语言:C,C++,C#,COBOL,EGL,Java,JavaScript,PHP,Python等等。 每个检测报告的示例可以在链接中找到。