1.DeepSource
DeepSource提供了可能是您能找到的最好的 Java 静态代码分析。该DeepSource的Java分析仪检测190多个代码的质量问题,包括性能的bug,安全风险,错误的风险,和反模式。目前,它支持 Gradle Java 项目,未来,DeepSource 也会增加对 Maven 和 Android 的支持。DeepSource 还致力于为 Java 分析器提供 Autofix 支持,这将使开发人员无需编写任何代码行即可修复问题。
特征
检测 170 多个代码质量问题。
当前支持 OpenJDK 版本 8 到 14。
集成: Gradle
许可:免费供开源、学生和非营利组织使用。付费计划从 12 美元用户/月开始。
2.SonarQube
SonarQube是 Java 静态代码分析工具的开源套件,它结合了 FindBugs 和 PMD 等工具的特性。SonarQube 具有非常直观的仪表板,可以维护历史记录,以帮助开发人员随时间跟踪 Java 代码质量。SonarQube 使用模式匹配和数据流分析等高级技术来分析代码并识别代码异味、错误和安全漏洞。
特征
它有 597 条规则来检测各种代码质量问题。
最多支持 14 个 Java 语言版本。
集成: Maven、Gradle、Ant。
许可:社区版是免费和开源的。商业版的许可证起价为 120 欧元。
3.SpotBugs
SpotBugs是 FindBugs 的继任者。它是一种 Java 静态代码分析工具,可检查 JVM 字节码并通过识别编码缺陷来发现潜在错误和安全漏洞的痕迹。这些缺陷被报告为警告,但并非所有报告的警告都必然是缺陷,例如,涉及可能的性能问题的警告。最新版本报告了400多个警告,所有警告分为四个等级:(i)最可怕,(ii)可怕,(iii)令人不安,(iv)关注。
特征
检测代码中的 400 多个错误模式。
SpotBugs 需要 JRE(或 JDK)1.8.0 或更高版本才能运行。但是,它可以分析为任何版本的 Java 编译的程序,从 1.0 到 1.9。
集成: Ant、Maven、Gradle。
许可: 免费和开源
4.PMD
PMD分析 Java 源代码,使用其规则列表对其进行验证,并向用户报告违规行。PMD 可以确定常见问题,例如密码和 IP 地址的硬编码、使用forEach循环代替传统for循环,以及似乎违反德米特法则或实施上帝类反模式的代码。
特征
超过 250 条规则来检测 Java 中的问题。
语言支持直到 Java 13
集成: Maven、Gradle。
许可: 免费和开源
5.EclEmma
EclEmma(基于 JaCoCo 库)是 Eclipse 的免费 Java 代码覆盖工具。它是一个用于在 Java 代码库中测量代码覆盖率并通过可视化报告呈现覆盖率数据的工具包。它突出显示代码行和执行代码的总百分比,并跟踪行和分支覆盖率。EclEmma 帮助开发人员评估未经充分测试的代码,并专注于低覆盖区域。它支持 3 种类型的报告格式:HTML、XML 和 CSV。
特征
支持从 1.0 到 14 版本的 Java 类文件。
集成: Ant、Maven。
许可: 免费和开源
6.Checkstyle
Checkstyle是一个 Java 静态分析工具,可帮助开发人员在企业内自动执行定义样式指南和实施编码标准的过程。Checkstyle 识别违反的规则,并帮助他们使用 Eclipse、IntelliJ IDEA 或 NetBeans 等 IDE 修复和重新格式化代码。违规类别包括通配符导入和通用令牌周围的空格使用。
特征
超过 180 项检查以强制执行 Java 编码风格。
Java 14 之前的语言支持。
集成: Ant、Maven。
许可: 免费和开源
7.JArchitect
JArchitect是一个 Java 静态分析工具,用于评估代码指标,例如方法参数的数量、变量和代码行数、圈复杂度、传入和传出耦合等。它测量、查询和可视化您的代码,避免意外问题、技术债务和复杂性。
特征
从 Java 8 到 13 的语言支持。
超过450条规则。
集成: Maven、Gradle、Ant。
许可: 14 天免费试用,非商业开源软件项目免费开源许可,个人许可 - 149 美元,开发者版 - 299 美元,Build Machine - 549 美元。在此处提交表格以获取 JArchitect 的相关定价和信息。
8.JUnit
JUnit是用于 Java 开发项目的流行单元测试框架,它允许开发人员为 Java 8 及更高版本编写和运行单元测试。JUnit 使用简单而强大的断言语句测试代码的状态和行为。JUnit 很容易上手,并且它为更复杂的场景提供了使用注解的各种附加功能。
特征
JUnit 5(最新版本)在运行时需要 Java 8(或更高版本)。
集成: Maven、Gradle、Ant
许可: 免费和开源
除了上述外,Java开发工具还有很多,大家在以后的学习中都会遇到。