gpt4 book ai didi

java - PMD 和 FindBugs 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 11:23:48 33 4
gpt4 key购买 nike

有一个 question comparing PMD and CheckStyle 。但是,我无法找到关于 PMD 和 FindBugs 之间差异/相似性的很好的分割。我相信一个关键的区别是 PMD 处理源代码,而 FindBugs 处理编译的字节码文件。但就能力而言,它应该是一个非此即彼的选择还是相辅相成?

最佳答案

我两个都用。我认为它们是相辅相成的。

正如你所说,PMD处理源代码,因此会发现以下问题:违反命名约定、缺少花括号、空检查错误、参数列表过长、不必要的构造函数、switch 中缺少 break 等。PMD 还告诉您 Cyclomatic complexity你的代码我觉得很有帮助(FindBugs 没有告诉你圈复杂度)。

FindBugs适用于字节码。以下是 FindBugs 发现的 PMD 没有发现的一些问题:equals() 方法在子类型上失败,clone 方法可能返回 null, boolean 值的引用比较,不可能的强制转换,32 位 int 移位的量不在 0-31 范围内,包含自身的集合,equals 方法总是返回 true,无限循环等。

通常他们每个人都会发现一组不同的问题。两者都用。这些工具教会了我很多关于如何编写好的 Java 代码的知识。

关于java - PMD 和 FindBugs 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4297014/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com