【问题标题】:Duplicate code: How to find and remove with tools重复代码:如何使用工具查找和删除
【发布时间】:2011-08-02 07:07:23
【问题描述】:

我正在管理一个由三名实习生组成的小组,他们从事一个 php 项目。他们似乎不擅长重构,并且在多个地方使用重复的代码。我正在寻找一种工具,我可以用它来找到这个重复的代码,以便我可以展示它们。

这将使我的工作更轻松,项目更优雅,更不容易出错。有线索吗?

【问题讨论】:

  • 我认为教你的实习生代码重用和面向对象编程和设计之类的东西是个好主意。
  • 如果您选择一个能够理解您正在编码的语言的克隆检测器,您可以获得更好的重复检测。您使用的是哪种语言?

标签: duplicates refactoring code-duplication


【解决方案1】:

PMD 是查找代码重复的好工具。这是link to the site

【讨论】:

  • 老歌,老歌。想要找到跨项目代码重复,将所有相关代码复制到临时。 dir.,下载 PMD 并运行 ./bin/run.sh cpd --minimum-tokens 100 --files /tmp/tmpsrc 。像魅力一样工作!
【解决方案2】:

请参阅我们的CloneDR 工具。它在大型软件系统中查找重复代码,使用编译器精确的解析来查找由语言语法(AST 匹配)引导的匹配项,忽略空格和换行符的变化。它将找到精确的重复项和几乎未命中的重复项。对于接近重复,它报告接近未命中的差异作为参数;它几乎告诉您如何为克隆编写替换子例程。

CloneDR 可在多种语言上运行:C、C++、C#、COBOL、EGL、Java、JavaScript、PHP、Python 等等。 可以在链接中找到每种检测报告的示例。

【讨论】:

    【解决方案3】:

    我非常喜欢CCFinderX,但它是废弃软件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-30
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多