8

在一个项目中,我发现了一些“闻起来”的css文件,就像其中有复制粘贴的规则一样。

我想知道您检测文件中复制粘贴内容的策略是什么。

出于好奇,我想听听您显示文件相似性的提示和技巧!

4

3 回答 3

5

试试四面

它用于源代码(Java、C#、C、C++、COBOL、Ruby、JSP、ASP、HTML、XML、Visual Basic、Groovy)中的复制粘贴检测,但您也可以在纯文本文件上运行它。

于 2009-10-08T09:32:49.580 回答
4

sourceforge 上有一个复制粘贴检测 (CPD) 项目;http://pmd.sourceforge.net/cpd.html

但即使在大型项目中,我也发现我自己对代码的了解是一种可靠的(尽管不是万无一失的)检测机制。

另请参阅此问题以获取其他建议。

于 2009-10-08T09:25:54.767 回答
2

我们的语义设计 CloneDR是一种检测复制粘贴编辑代码块的工具,适用于多种语言:C、C++、Java、C++、COBOL、ECMAScript、PHP、VB6、VB.net,...

它确实使用语言准确的解析器来构建抽象语法树,对应于确切的程序结构,然后比较它们的相似性。这意味着它不会被空格、格式、注释甚至不同的文字“拼写”所混淆(例如,3.14159 与 .00314150E3 相同)。

它会生成一份报告,准确显示代码块的相似之处以及它们之间的差异。您可以在链接中查看示例报告。

于 2010-02-01T18:44:21.823 回答