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

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

java 性能监视 java代码性能检查工具_SonarLint

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

检测结果分为三个等级:

等级

严重程度

备注

BLOCKER

严重的

有明显问题,影响性能,功能等(尽量修改,个人看法)

CRITICAL

危险的

一般问题,遵循的标准(日常习惯,养成良好习惯)

MAJOR

主要的

多为建议(可以不改)

 

扫描结果:

java 性能监视 java代码性能检查工具_阿里规范_02

 

2.SonarQube 与 SonarLint插件

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

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

三种问题类型

TYPE

类型

备注

BUG

bug

代码bug,影响程序运行(必须修改)

VULNERABILITY

漏洞

漏洞,有可能被攻击(必须修改)

CODESMELL

代码异味

可以优化,影响代码的可维护性

 

五个问题等级

SEVERITY

严重性

备注

BLOCKER

阻断

影响程序正常运行

CRITICAL

严重

可能会影响程序运行,安全等

MAJOR

主要

影响开发效率,代码质量

MINOR

次要

可能会影响开发效率,代码质量

INFO

提示

建议

 

扫描结果:

java 性能监视 java代码性能检查工具_SonarLint_03

java 性能监视 java代码性能检查工具_SonarLint_04

 

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

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

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

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

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