使用Checkstyle工具检查java代码风格

作者:jcmp      发布时间:2021-04-16      浏览量:0
一、1、介绍Checkstyle是一种开

一、1、介绍

Checkstyle是一种开发工具,可帮助程序员编写符合编码标准的Java代码。它使检查Java代码的过程自动化,从而使人类免于这项无聊(但重要)的任务。这使其成为希望实施编码标准的项目的理想选择。

Checkstyle具有高度可配置性,可以支持几乎任何编码标准。提供了一个示例配置文件,支持Sun Code Style,Google Java Style。

报告样式:

特性/功能:

Checkstyle可以检查源代码的许多方面。它可以找到类设计问题,方法设计问题。它还能够检查代码布局和格式问题。

官网地址: https://checkstyle.org/index.html。

二、2、安装/配置/使用

安装方式有两种

三、2.1、命令行方式

(1) 下载/安装

下载地址: https://github.com/checkstyle/checkstyle/releases/

我这里下载的是 checkstyle-8.17-all.jar ,下载到本地是个 java 包,我们在本地配置好 java 环境,即可通过 java 指令来启动他。

官网提供了两种代码风格的规则:

官网的关于风格的介绍: https://checkstyle.org/style_configs.html。

我找到一个华为的 java Style ,比较适合 Android 开发。 下载地址: https://github.com/vir56k/demo/blob/master/checkstyle/MyApplication444/config/huawei_CheckStyle.xml。

(3) 使用 checkstyle 检查代码风格

使用 google 风格

java -jar checkstyle-8.17-all.jar -c /google_checks.xml /Users/zhangyunfei/git/MyApplication33/app/src。

使用 sun 风格

java -jar checkstyle-8.17-all.jar -c /sun_checks.xml /Users/zhangyunfei/git/MyApplication444。

使用华为风格:

java -jar checkstyle-8.17-all.jar -c ./huawei_CheckStyle.xml /Users/zhangyunfei/git/MyApplication33/app/src/main/java。

下面是我使用的示例截图:

2.2、gradle 方式

常用的方式还是在gradle下配置

2.2.1 配置说明

gradle 方式 配置 checkstyle 脚本存放在 scripts 文件夹下checkstyle.gradle grald脚本配置,关键在这里huawei_CheckStyle.xml 规则配置suppressions.xml 规则配置。

checkstyle.gradle 脚本内容:

apply plugin: 'checkstyle' def configDir = "${project.rootDir}/scripts" def reportsDir = "${project.buildDir}/reports" task checkstyle(type: Checkstyle) { configFile file("$configDir/checkstyle/huawei_CheckStyle.xml") configProperties.checkstyleSuppressionsPath = file("$configDir/checkstyle/suppressions.xml").absolutePath source 'src' include '**/*.java' exclude '**/gen/**' exclude '**/test/**' exclude '**/androidTest/**' classpath = files() } check.dependsOn 'checkstyle'

2.2.2 怎么应用?

在 app 的 build.gradle 中加入下面引用

apply from: '../scripts/checkstyle/checkstyle.gradle'

2.2.3 执行 checkstyle

./gradlew clean check

2.2.4 查看报告

报告存放于:app/build/reports/checkstyle/ 文件夹下。

2.2.5 常见问题

gradle 下载不到包的问题,请使用阿里镜像,示例:allprojects { repositories { maven { url "https://maven.aliyun.com/repository/jcenter/" } maven { url "https://maven.aliyun.com/repository/gradle-plugin/" } maven { url "https://maven.aliyun.com/repository/google/" } jcenter() google() }}

四、3、参考:

https://checkstyle.org/cmdline.html //命令下使用。

https://github.com/checkstyle/checkstyle。

https://github.com/checkstyle/checkstyle/releases/

https://www.jianshu.com/p/fc2f45a9ee37。

https://gist.github.com/ownwell/c32878440216f1866842。