在Gradle中使用阿里巴巴Java开发规约插件进行代码检查
来源:互联网 发布:入骨相思知不知福禄txt 编辑:程序博客网 时间:2024/06/13 09:31
概述
最近阿里发布了《阿里巴巴Java开发手册》,一时间无数阿里拥趸如获武穆遗书,就在近日阿里又顺便发布了<阿里巴巴java开发规约插件>,可以轻松的在码字阶段获得相应的编码提示,那么,在Gradle中如何应用阿里开发规约
进行代码检查呢.且看下文.
阿里的开发规约插件是基于PMD进行的代码检测,所以在Gradle应用阿里开发规约
检查只需要使用gradle
提供的pmd
插件即可达成目的.
目前阿里开发规约提供了如下一些规则配置,要应用这些配置只需要将他们配置到pmd
的检查规则中即可.
- ali-comment.xml
- ali-concurrent.xml
- ali-constant.xml
- ali-exception.xml
- ali-flowcontrol.xml
- ali-naming.xml
- ali-oop.xml
- ali-orm.xml
- ali-other.xml
- ali-set.xml
PMD介绍
PMD(Project Manager Design)是一种开源分析Java代码错误的工具。与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题。此外,用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。
PMD的核心是JavaCC解析器生成器。PMD结合运用JavaCC和EBNF(扩展巴科斯-诺尔范式,Extended Backus-Naur Formal)语法,再加上JJTree,把Java源代码解析成抽象语法树(AST,Abstract Syntax Tree)。以上内容引自百度百科-PMD条目
使用
apply plugin: 'java'apply plugin: 'pmd'ext { p3c = "1.3.0"}pmd { consoleOutput = true reportsDir = file("build/reports/pmd") ruleSets = [ "java-ali-comment" ]}repositories { jcenter()}dependencies { pmd "com.alibaba.p3c:p3c-pmd:${p3c}"}
这里有几个需要注意的点
- gradle的pmd插件为rule
都添加了默认的java-
前缀,一定不要丢掉
- dependencies中依赖的范围是pmd
,这样依赖才会加到pmdClasspath
中为pmd
所用
- 关于本插件的一些其它配置可以查看 pmd插件dsl手册
运行检查
该插件提供了如下几个任务
可以按照需求运行对应任务进行代码检查。
//使用短写方式运行pmdMain任务gradle pM
输出的检测报告在我们定义的目录里可以找到build/reports/pmd
- 在Gradle中使用阿里巴巴Java开发规约插件进行代码检查
- IDEA中使用阿里巴巴规约插件检查代码(C3P)
- 阿里巴巴Java开发规约插件使用
- 阿里巴巴Java开发规约插件使用
- IDEA阿里巴巴Java开发规约插件使用
- 阿里巴巴Java开发规约插件使用
- 阿里巴巴Java开发规约的插件使用
- 阿里巴巴Java开发规约插件使用
- 阿里巴巴Java开发规约插件使用
- 阿里巴巴Java开发规约的插件使用
- 阿里巴巴Java开发规约插件使用
- 阿里巴巴Java开发规约IDEA插件使用
- 阿里巴巴Java开发规约插件的使用
- 阿里巴巴Java开发规约插件使用
- 阿里巴巴代码规约插件使用
- 【代码规范神器】阿里巴巴Java开发规约IDE插件使用教程(P3C)
- 阿里巴巴Java开发规约-插件使用[Idea和Eclipse]
- 《阿里巴巴Java开发规约》插件安装及使用
- 禁止images图片拖拽
- 解决Idea 出现 "Could not autowire.." 错误
- Android Sensor详解(7)sensor framework层详解第二篇
- Windows网络守门人UserLock教程:UserLock教程:阻止规定时间以外的访问连接
- eslint的规则设置
- 在Gradle中使用阿里巴巴Java开发规约插件进行代码检查
- Zwj的图床
- 协方差矩阵
- 扩展ThreadPoolExecutor的一种办法
- CF16E Fish(概率dp+状压dp)
- 给绑定函数添加参数
- linux--crontab 定时任务
- 微信小程序URIError: URI malformed
- IE6bug汇总