在一个项目中,我发现一些css文件“闻起来”像是有复制粘贴的规则。
我想知道您检测文件中复制粘贴内容的策略是什么。
出于好奇,我想听听您显示文件相似性的提示和技巧!
尝试Simian相似度分析器。
它用于源代码(Java、C#、C、C++、COBOL、Ruby、JSP、ASP、HTML、XML、Visual Basic、Groovy)中的复制粘贴检测,但您也可以在纯文本文件上运行它.
sourceforge 上有一个复制粘贴检测(CPD)项目; http://pmd.sourceforge.net/cpd.html
但即使在大型项目中,我发现我自己对代码的了解也是一种可靠的(尽管不是万无一失的)检测机制。
另请参阅此问题以获取其他建议。
我们的Semantic Designs CloneDR是一种检测复制粘贴编辑代码块的工具,适用于多种语言:C、C++、Java、C++、COBOL、ECMAScript、PHP、VB6、VB.net...
它确实使用语言精确的解析器来构建与精确程序结构相对应的抽象语法树,然后比较它们的相似性。这意味着它不会因空格、格式、注释甚至不同的文字“拼写”而以任何方式混淆(例如,3.14159 与 .00314150E3 相同)。
它会生成一份报告,“准确地”显示代码块的相似之处以及它们的不同之处。您可以在链接中查看示例报告。