【问题标题】:generic code duplication detection tool [closed]通用代码重复检测工具
【发布时间】:2012-11-15 13:35:47
【问题描述】:

我正在寻找一种与语言无关的代码复制工具。很容易找到特定语言的代码复制工具(用于 Java、C、PHP 等),但我想以自定义语法对模板运行一些代码复制分析。

我不关心语法的高级解析,只是基于直线的原始字符串比较就可以了。空格不敏感匹配将是一个加号,但不是必需的。 (我自己规范化/消除空格并不难。)

有人知道可以(误)用于此类事情的工具吗?

谢谢。

【问题讨论】:

  • 如果检测器对语言语法一无所知,克隆检测会变得更差。大多数克隆不是相同的文本。它们是复制粘贴编辑过的文本,因此要准确找到它们,您需要匹配相似但不完全相同的代码片段。有语法感知克隆检测器,并且或多或少地,它们可以配置为知道精确的语言语法。
  • 我真的认为你最好专注于逻辑重复而不是原始字符串重复。有些语言可能是样板,但这种重复不会重复错误。当系统的两个地方有相同的、重要的逻辑时,就会造成不必要的维护负担。

标签: language-agnostic duplicates code-analysis static-analysis code-duplication


【解决方案1】:

看看Simian,您可以将它用于 Java、C#、C、C++、COBOL、Ruby、JSP、ASP、HTML、XML、Visual Basic、Groovy 源代码甚至纯文本文件。

还有一个类似的问题here

【讨论】:

    【解决方案2】:

    你也可以看看Sonarhttp://www.sonarsource.org/

    【讨论】:

    • 声纳立方体的哪个功能可用于查找代码重复?你能指点我们吗?
    【解决方案3】:

    看看这个https://siderlabs.com/

    目前支持C、C++、Cuda等Python、PHP、Java、Javascript即将推出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多