在Java代码中查找bug的最佳工具是什么?

在Java代码中查找bug的最佳工具是什么?,java,bug-reporting,Java,Bug Reporting,我想知道哪种工具最适合在我的代码中查找任何类型的bug。我知道这可能是一个理论性的或永无止境的问题,所以我想从bug报告的效率(包括命名约定)方面对其进行修改。那么你可以说哪种工具报告和最大的bug,以及是否在行业中有效使用?我听说findbug真的很好吗?可能是最著名的,值得一试 对于命名约定等,我建议您看看。Findbugs非常好。然而,我建议使用声纳来保持代码质量。 它与maven(sonar:sonar)集成良好。除此之外,我相信使用maven站点创建checkstyle、pmd、fin

我想知道哪种工具最适合在我的代码中查找任何类型的bug。我知道这可能是一个理论性的或永无止境的问题,所以我想从bug报告的效率(包括命名约定)方面对其进行修改。那么你可以说哪种工具报告和最大的bug,以及是否在行业中有效使用?我听说findbug真的很好吗?

可能是最著名的,值得一试


对于命名约定等,我建议您看看。

Findbugs非常好。然而,我建议使用声纳来保持代码质量。
它与maven(sonar:sonar)集成良好。除此之外,我相信使用maven站点创建checkstyle、pmd、findbugs等所有报表也有助于开发人员保持警惕。

使用编译器查找语法“bug”

使用测试用例查找可用性“bug”


在代码中使用测试工具来发现代码修改后的回归问题。

我更喜欢在IntelliJ中使用代码分析。它不仅可以发现许多可能的错误和改进,而且可以快速修复许多错误和改进,这使得修复大量代码变得切实可行。

这取决于您要查找的内容。就我个人而言,我使用和的组合来执行Java代码的静态分析。然而,我最近发现了一个问题

Java代码分析有两种类型——源代码分析和字节码分析。PMD查看源代码以查找可能的错误、未使用的代码、次优代码、复杂表达式和重复代码。FindBugs查看生成的字节码以查找可能的错误。在分析应用程序时,两者都是必不可少的


然而,在发现缺陷方面,没有什么能比得上一个好的测试框架和(如果必要的话)模拟库。我在和方面取得了很好的成功。这将使您能够为模块编写单元测试。使用自动化工具或测试过程编写代码系统、集成和冒烟测试也很重要,这样您就可以涵盖核心功能,并在出现问题时快速发现问题。

是的,我使用了“查找错误”,但我们在样式方面没有任何错误。通过检查样式,让我也尝试一下。它是否也显示了标准命名约定?标准命名转换以及快速修复。i、 e.如果
public static final
是camelCase,它会突出显示(或出现在报告中),并让您可以选择将其重命名为大写字母更改所有引用(即使在注释、字符串和文件中)使用位于您耳朵之间的引用,这是最有力的引用,任何机床都无法替换;-)@彼得:很好的评论。。。但有时它似乎并不实用,特别是当你只是一个初学者。。。这些工具将帮助您增加名为brain的工具数据库,以便以后使用。。。。findbug大大改进了我的编码实践。但是,除非你真正了解为什么会发出特定的FindBugs警告以及如何避免这些警告,即如何编写更好的代码(为此你必须动脑),否则无论你使用多少代码分析工具,你都不会成为一名更好的开发人员。@peter我同意peter的观点,并尊重你的评论