很多时候我们的代码写的不规范,比如没缩进、参数间没空格、导入的包没用到没删除、方法很长没有进行拆分、 直接对方法参数进行了赋值分配等等不规范的操作或写法。
为了规范代码并提高代码的质量,以及扫描代码检测潜在的不合理代码,我们可以使用一些插件来进行代码扫描分析。
maven-checkstyle-plugin 是 maven 提供的一个插件,用于扫描代码检测不合理需要改进的差代码,简单来说就是代码规范检查。
举个例子:
GitHub 就用它在提交和拉取请求时审核代码库的一致性(例如缩进规则等)。GitHub 的 Actions 等 CI/CD 系统中就使用了这个东西,当你在 GitHub 上 fork 了一个开源项目,然后修改一些代码后给原项目作者提了一个 PR 请求,原作者同意后GitHub CI就会用这个东西构建检查代码缩进和代码规范是否有不合理的地方。
在 pom.xml 的 pluginManagement 标签中引入如下插件依赖:
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-checkstyle-pluginartifactId>
<version>3.2.1version>
plugin>
maven-checkstyle-plugin 自带两套扫描代码的规则,一套是 Sun 定义的 sun_checks.xml ,一套是由谷歌定义的 google_checks.xml。像上面那样不指定扫描规则,则默认采用 sun_checks.xml ,如果你想指定使用 google_checks.xml 规则扫描代码可以像下面这样引入插件依赖:
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-checkstyle-pluginartifactId>
<version>3.2.1version>
<configuration>
<configLocation>google_checks.xmlconfigLocation>
configuration>
plugin>
如果你想采用自定义的扫描规则,请在你的 pom.xml 同级目录下新建 checkstyle.xml 文件并在其中配置你的规则。然后修改 pom.xml 中 maven-checkstyle-plugin 插件的 configLocation 配置 checkstyle.xml ,就像上面的 google_checks.xml 一样。
网上有很多自定义的 checkstyle.xml 规则,例如:
在项目目录下打开 cmd 命令行或者在 idea 中的 Terminal 中输入mvn checkstyle:check
命令开始扫描代码。
扫描后提示的ERROR就是需要改进的地方:
其他关于 maven-checkstyle-plugin 插件的配置和说明具体可参见官网: Apache Maven Checkstyle Plugin
除了使用上面的 maven 插件,如果你使用的是 idea 编译器,你可以安装 idea 的插件来扫描代码,效果和 maven 插件一样。
File ==》Settings ==》Plugins ==》Marketplace ==》搜索 CheckStyle-IDEA 进行安装 。
( 插件有 100MB 左右可能需要下载一会,如果下载很慢的话可以浏览器访问 idea插件中心下载CheckStyle-IDEA 找到你对应的idea版本下载相应的 CheckStyle-IDEA 插件压缩包,然后 idea 里 File ==》Settings ==》Plugins ==》Marketplace ==》点击右上角设置图标选择 Install Plugin from Disk , 选择下载的压缩包进行安装,最后重启 idea )
CheckStyle-IDEA 自带 Sun 和 Google 两套扫描代码规则,你可以选择其中一个规则进行扫描。(如果要自定义扫描规则或其他配置,File ==》Settings ==》Tools ==》Checkstyle 进行设置)
左侧的三个按钮分别是检查当前文件的代码、检查当前模块的代码、检查整个项目的代码
扫描结果如下,点击具体的报错可跳转定位到相关代码处: