问题标签 [cpd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - PMD:分析 C 代码的命令行
我想使用PMD 4.2.5在我的 C 代码中查找重复项。我使用他们文档中的示例命令行:
这给了我错误:
我也尝试了很多不同的其他东西,但都没有奏效。PMD 的 GUI 版本运行良好。
我必须使用什么命令行来让 PMD 检测重复代码?
java - PMD/CPD: Ignore bits of code using comments
Is there a way to tell PMD to ignore checking parts of code for duplication?
For example, can I do something like this:
Currently I have PMD set up like this using Maven, but don't see any arguments that would like me do what I want unless I am missing something.
java - 复制粘贴检测器 - 如何避免委托模式
我们使用 CPD 并且效果很好。
一些接口在多个类中实现。这些类使用“委托”模式 [ http://en.wikipedia.org/wiki/Delegation_pattern ]共享实现代码。生成的代码有时会变大并报告为重复代码。如何跳过此类问题?
是否有注释或特定的注释模式来跳过代码选择部分中的重复代码检测?
PMD 有一个 - @SuppressWarnings("PMD")。CPD会不会有类似的东西?
python - 在 python 上使用 cpd
我正在尝试在我的 python 代码库上运行 CPD 的 GUI 版本,但即使我将最小块大小设置为 1,也不会返回重复的代码。
我的代码不是很好。
有没有人在 python 项目上成功运行 CPD?
static-analysis - 如何从命令行使用静态代码分析器 CPD ignoreLiterals 和 ignoreIdentifiers?
这就是 PMD 静态分析器的功能:复制粘贴检测器。
是的,我彻底阅读了http://pmd.sourceforge.net/cpd.html 。
ignoreLiterals
但是如果我从 ant-task 运行 CPD,我可以通过指定and来微调它的工作ignoreIdentifiers
。如何使用命令行指定这些键?
jdbc - DAO 类中的 CPD 错误
我有一个 DAO 类,它有多个方法。在每个方法中,我使用变量名“result”作为 ResultSet 和“statement”作为 PreparedStatement 和 closeResources() 方法来关闭 PreparedStatement 和连接。我使用了一个 DataManager 类,它具有 createConnection() 方法、getConnection() 方法。我的 DAO 中有 10 个 mwthods。我使用 DAO 工厂方法在 BO 中获取 DAO 对象。这是代码片段,显示为当我在 Eclipse 中运行 CPD 工具时违规。它在我的 DAO 的大约 6 到 8 个方法中显示此代码片段作为违规。
由于 DAO 中的许多方法使用相同的方法,CPD 将上述代码显示为违规,我认为您无法使这段代码更加模块化。我的问题是在许多情况下使用相同的变量名,如“result”方法是否是最佳实践。要清除违规行为,我需要将“结果”重命名为“结果1”、“结果 2”等,但我觉得这些名称没有意义。
注意:我的培训即将结束。我没有在 Springs 或 Struts 上工作,我只知道 Servlets 和 JSP。我正在做一个案例研究,这是我第一次使用 PMD、CPD 工具。
java - 声纳 CPD 检测块重复
我已经对声纳 cpd 如何检测重复块进行了很多分析。但我无法准确触发检测块或代码行所需的过程。是否有任何最小行数。
例如,如果我写如下,即使我重复超过 20 次,它也没有检测到任何代码重复。
后来我试着给块重复
在这里它被视为两个块,即使它有很多块。
请让我知道声纳 3.4.1 在此重复检测中遵循的确切过程
在这个 http://docs.sonarsource.org/3.1/apidocs/src-html/org/sonar/plugins/cpd/SonarEngine.html
我发现一个恒定的块大小为 10。但我能够在我的观察中将其联系起来。
ant - CPDTask 对 FilenameUtils 有 NoClassDefFoundError
从 PMD 5.0.3 更新到 5.0.5 后,尝试通过 ant 运行 CPD 时出现 NoClassDefFoundError。我看到 CPD 更改为使用 FilenameUtils,但这应该不是问题,因为我在任务的路径中有 commons-io.jar。
这是 Ant 目标(FilenameUtils 在 commons-io.jar 中)
我看不到任何将 classpathref 放入 cpd 调用的方法。
这是错误
cpd - 如何避免代码重复 CPD 工具中的空格和注释
我们正在使用 CPD 工具进行代码重复检测。CPD 工具包括空格和注释。您能否告诉我们如何避免空格、注释,以便出现正确的重复案例?假设我们有 4 行重复代码和 4 行注释,那么它返回 8 行而不是 4 行。
maven - PMD/CPD 无法检测到重复代码
我是新手PMD/CPD
。我PMD
在我的maven项目中配置如下:
我的 maven 项目正在正常编译并生成所有报告mvn jxr:jxr site
。但我找不到任何显示重复代码的结果。为了测试这一点,我有意在我的代码中引入了重复代码,如下所示:
但始终CPD
显示在源代码中未检测到问题。但是我可以PMD
正常找到报告。我是否缺少一些配置或规则集?
请帮忙!