前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Checkstyle工具检查java代码风格

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

作者头像
张云飞Vir
发布2020-03-16 16:16:14
2.6K0
发布2020-03-16 16:16:14
举报
文章被收录于专栏:写代码和思考

1、介绍

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

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

报告样式:

image.png

特性/功能:

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

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

2、安装/配置/使用

安装方式有两种

  • 命令行 方式
  • grade 方式

2.1、命令行方式

(1) 下载/安装

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

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

(2) 配置规则(Style, Rule)

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

官网的关于风格的介绍: 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 风格

代码语言:javascript
复制
java -jar checkstyle-8.17-all.jar -c /google_checks.xml /Users/zhangyunfei/git/MyApplication33/app/src

使用 sun 风格

代码语言:javascript
复制
 java -jar checkstyle-8.17-all.jar -c /sun_checks.xml /Users/zhangyunfei/git/MyApplication444

使用华为风格:

代码语言:javascript
复制
java -jar checkstyle-8.17-all.jar -c ./huawei_CheckStyle.xml /Users/zhangyunfei/git/MyApplication33/app/src/main/java

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

image.png

2.2、gradle 方式

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

2.2.1 配置说明

代码语言:javascript
复制
gradle 方式 配置 checkstyle 脚本存放在 scripts 文件夹下

checkstyle.gradle           grald脚本配置,关键在这里
huawei_CheckStyle.xml       规则配置
suppressions.xml            规则配置

checkstyle.gradle 脚本内容:

代码语言:javascript
复制
      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 中加入下面引用

代码语言:javascript
复制
 apply from: '../scripts/checkstyle/checkstyle.gradle'

2.2.3 执行 checkstyle

代码语言:javascript
复制
./gradlew clean check

2.2.4 查看报告

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

2.2.5 常见问题

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、介绍
  • 2、安装/配置/使用
  • 2.1、命令行方式
    • (1) 下载/安装
      • (2) 配置规则(Style, Rule)
      • (3) 使用 checkstyle 检查代码风格
    • 2.2、gradle 方式
      • 2.2.1 配置说明
      • 2.2.2 怎么应用?
      • 2.2.3 执行 checkstyle
      • 2.2.4 查看报告
      • 2.2.5 常见问题
  • 3、参考:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档