idea java程序员必备 代码检测工具

1.Alibaba Java开发手册 & 代码规范插件

  项目地址:https://github.com/alibaba/p3c

idea java程序员必备 代码检测工具

看清楚,点击,README.md 文件有详细教程,这里不多说;

检测结果分为三个等级:

等级 严重程度 备注
BLOCKER 严重的 有明显问题,影响性能,功能等(尽量修改,个人看法)
CRITICAL 危险的 一般问题,遵循的标准(日常习惯,养成良好习惯)
MAJOR 主要的 多为建议(可以不改)

 

扫描结果:

idea java程序员必备 代码检测工具

 

2.SonarQube 与 SonarLint插件

项目地址:https://www.sonarqube.org/

SonarQube是一种自动代码审查工具,支持多种语言,可检测代码中的错误,漏洞和代码异味等。并且能够生成代码审查报告,它能够集成单元测试,统计单元测试覆盖率等。它还能很好与现有的DevOps结合,例如,在Java方面支持Maven插件,并且能够与Jenkins集成,实现自动化分析、测试,生成报告等。

三种问题类型

TYPE 类型 备注
BUG bug 代码bug,影响程序运行(必须修改)
VULNERABILITY 漏洞 漏洞,有可能被攻击(必须修改)
CODESMELL 代码异味 可以优化,影响代码的可维护性

 

五个问题等级

SEVERITY 严重性 备注
BLOCKER 阻断 影响程序正常运行
CRITICAL 严重 可能会影响程序运行,安全等
MAJOR 主要 影响开发效率,代码质量
MINOR 次要 可能会影响开发效率,代码质量
INFO 提示 建议

 

扫描结果:

idea java程序员必备 代码检测工具

idea java程序员必备 代码检测工具

 

安装教程,参考另一篇博客;

介绍完这两个插件,那么应该如何选择呢?

这两个插件的侧重点不同:

  • Alibaba代码规范插件比较关心的是代码规范,编码风格上的,例如,命名规范,注释,代码行数等
  • SonarLint比较关心代码正确性,存在的问题,风险,漏洞等,例如,重复代码,空指针,安全漏洞等

所以,我建议结合使用,使用前者来规范代码,使用后者来提前发现代码的问题,配合起来提高工程整体的代码质量,并且能够在编码阶段规避风险,提高程序的健壮性。