Java代码质量评估工具

概述

Java代码的质量评估主要包括代码的可维护性、健壮性、以及在运行时能达到既定的性能目标,可维护性主要包括代码的可读性、在关键的代码上提供详细注释、在设计类、方法以及代码逻辑时符合设定的编码规范,健壮性主要包括编写代码时应使用常用的设计模式、在代码发生异常时能提供合理的容错性,代码运行的性能目标主要包括代码能高效地运行、代码在执行计算的过程中应合理地使用内存资源、处理器资源以及其他系统资源。

本文主要描述Eclipse IDE的集成开发工具提供的相关插件,这些插件主要包括阿里云的P3C、CheckStyle、PMD、FindBugs、SourceMonitor、Sonar,使用这些插件对项目工程代码执行静态扫描,从而输出代码存在的问题,研发人员可以根据这些问题初步评估代码的质量,然后,修改以及优化这些代码问题,这些插件的功能与作用如下所示:

阿里云的P3C

P3C是阿里云提供的编程规范的插件,支持Eclipse IDE或者其他IDE,其提供的编程规约包括命名规范、常量定义、代码格式、OOP规约、集合处理、并发处理、控制语句、注释规约以及其他规约

CheckStyle

Check Style是一款开发工具,开发者可以使用该工具检查代码是否符合既定的标准规范,其提供的检查范围包括类设计问题、方法设计问题、代码编写格式或者布局问题、其他问题,其支持Eclipse IDE或者Maven插件

 

PMD

PMD是一款静态代码分析工具,使用该工具检查代码可以帮助开发者发现的问题包括未被使用的变量、无用或者空的代码块、多余被创建的类对象、其他问题,其支持Eclipse IDE或者Maven插件

 

FindBugs

FindBugs是一款专用于Java语言的代码安全审计的工具,其提供的代码检查功能包括发现代码类型安全问题、发现传输协议数据安全问题,其支持OWASP标准以及CWE标准的安全性检查,其提供Eclipse IDE或者Maven插件

 

SourceMonitor

SourceMonitor是一款用于统计代码行数、检查代码圈复杂度的工具,代码圈复杂度能直接反映出代码算法的计算效率的问题,复杂度越高,则代码算法的执行效率越低

 

Sonar

Sonar提供三种方式的代码检查工具,包括Eclipse IDE插件本地代码检查、支撑企业内开发团队的代码检查平台、在DevOps  CI/CD领域中提供有效的工具集成到云环境

 

阿里云的P3C

https://github.com/alibaba/p3c/

Java代码质量评估工具_第1张图片

如上所示,git上下载P3C源代码到本地开发环境

https://p3c.alibaba.com/plugin/eclipse/update

Java代码质量评估工具_第2张图片

如上所示,在Eclipse IDE中,输入P3C的插件网络地址即可安装

Java代码质量评估工具_第3张图片

如上所示,Alibaba Code Guidelines代码检查插件安装成功

Java代码质量评估工具_第4张图片

如上所示,使用Alibaba Code Guidelines代码检查插件对Java项目工程代码执行扫描,输出代码存在的问题,开发人员可以根据这些问题及时修复以及优化代码

CheckStyle

https://checkstyle.org/index.html

https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html

    

Java代码质量评估工具_第5张图片

如上所示,在Eclipse IDE的Maven工程中配置Maven checkstyle插件

Java代码质量评估工具_第6张图片

如上所示,在Eclipse IDE执行Maven的命令生成代码检查报告

Java代码质量评估工具_第7张图片

Java代码质量评估工具_第8张图片

如上所示,在项目构建的目标目录site中,输出checkstyle的报告

Java代码质量评估工具_第9张图片

如上所示,checkstyle.html页面中可以查看代码存在的问题

PMD

https://docs.pmd-code.org/latest/pmd_userdocs_tools_maven.html

Java代码质量评估工具_第10张图片

Java代码质量评估工具_第11张图片

如上所示,在Eclipse IDE项目工程中配置Maven的pom.xml

Java代码质量评估工具_第12张图片

如上所示,在Eclipse IDE中运行Maven的命令执行PMD对代码的分析

Java代码质量评估工具_第13张图片

如上所示,在项目工程的构建目录中输出pmd.html的代码分析报告

FindBugs

https://find-sec-bugs.github.io/

Java代码质量评估工具_第14张图片

Java代码质量评估工具_第15张图片

如上所示,在Eclipse IDE项目工程中配置Maven的pom.xml

mvn compile

mvn spotbugs:spotbugs

mvn spotbugs:gui

Java代码质量评估工具_第16张图片

如上所示,在Eclipse IDE中运行Maven命令,执行findbugs的代码分析

Java代码质量评估工具_第17张图片

如上所示,findbugs提供的分析工具显示代码存在的问题

SourceMonitor

https://www.derpaul.net/SourceMonitor/

Java代码质量评估工具_第18张图片

如上所示,下载安装SourceMonitor工具、对Java代码工程执行圈复杂度的分析、输出分析报告

Sonar

https://docs.sonarsource.com/sonarlint/eclipse/

Java代码质量评估工具_第19张图片

如上所示,在Eclipse IDE插件市场中搜索安装SonarLint

Java代码质量评估工具_第20张图片

如上所示,在Eclipse IDE中使用SonarLint对Java项目工程执行代码分析

Java代码质量评估工具_第21张图片

如上所示,SonarLint对Java项目工程执行代码分析,输出分析报告

你可能感兴趣的:(应用软件系统技术与架构,java,开发语言,代码质量,CI/CD)