专栏首页写代码和思考使用Checkstyle工具检查java代码风格

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

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 风格

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

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

image.png

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android开发(53) 摄像头自动对焦。在OpenCV图像识别中连续拍照时自动对焦和拍照。

    对焦,这里所说的“焦”是指“焦距”。在拍照时,一定是需要调焦的。一般会在目标位置最清晰的时候会停止对焦。最近在处理OpenCV进行图像识别时,需要连续的调焦(对...

    zhangyunfeiVir
  • Android开发 - 处理 null 和 预防空指针异常(NullPointerException) 的一些经验

    比如: 通过intent传参到新的目标 activity,而且一定需要这个参数,那么在新的目标activity中 onCreate方法中 判断中这个参数,如果n...

    zhangyunfeiVir
  • Android开发(4) 闪屏的实现

    闪屏呢,就是SplashScreen,也可以说是启动画面,就是启动的时候,闪(展示)出一个页面,它持续数秒后,自动关闭。

    zhangyunfeiVir
  • .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧

    启动调试后,程序启动,并会停留在第一个断点这一行。且这行的代码并未执行。 VS Code会自动唤出Debug工作区,本文将逐步介绍常用功能。

    ken.io
  • Impala 详解

    Impala各个组件、Sql语句分析步骤,优点缺点

    俺也想起舞
  • 这几个IDEA高级调试技巧,用完就是香

    测试分布式项目时,经常要一个项目启动2次,不用将一个项目打开多次启动,配置一下即可

    Java识堂
  • Android Studio快捷键每日一练(3)

    23、启停用断点 苹果:Cmd+F8    Windows:Ctrl+F8 接下来的几个功能都和调试相关。我们就从一个最基本的功能开始:添加一个断点。相信到目前...

    24K纯开源
  • 30个极大提高开发效率的Visual Studio Code插件

    译者按: 看完这篇文章,我打算从 Sublime Text 转到 Visual Studio Code 了!

    Fundebug
  • 目前数据科学和机器学习中使用的最多的20个包

    CRAN包库有6778个常用的包。哪些是你知道的?下面对此进行以下的分析,同时在文章底部另请参见原始数据链接。 这些R包都是Kagglers里的技术大牛最青睐的...

    小莹莹
  • 30个极大提高开发效率的Visual Studio Code插件

    译者按: 看完这篇文章,我打算从 Sublime Text 转到 Visual Studio Code 了!

    Fundebug

扫码关注云+社区

领取腾讯云代金券