资讯专栏INFORMATION COLUMN

# 在Gradle中使用阿里巴巴Java开发规约插件进行代码检查

Invoker / 1073人阅读

摘要:也就是说,在不运行程序的情况下报告错误。此外,用户还可以自己定义规则,检查代码是否符合某些特定的编码规范。使用短写方式运行任务输出的检测报告在我们定义的目录里可以找到

在Gradle中使用阿里巴巴Java开发规约插件进行代码检查 概述

  最近阿里发布了《阿里巴巴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 检查src/main/java下的代码
pmdTest 检查src/main/test下的代码
pmdSourceSet 检查给定范围的代码
check 检查源码和单元测试代码

可以按照需求运行对应任务进行代码检查。

//使用短写方式运行pmdMain任务
gradle pM

输出的检测报告在我们定义的目录里可以找到build/reports/pmd

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67837.html

相关文章

  • IntelliJ IDEA 18 周岁,吐血推进珍藏已久的必装插件

    摘要:代码规约扫描插件以今年年初发布的阿里巴巴开发规约为标准,作为的插件形式存在,检测代码中存在不规范得位置然后给予提示。 IntelliJ IDEA是目前最好最强最智能的Java IDE,前几天,他刚刚年满18岁。 showImg(https://segmentfault.com/img/remote/1460000017974611); 本文,给大家推荐几款我私藏已久的,自己经常使用的...

    赵春朋 评论0 收藏0
  • 阿里巴巴Java代码规约插件p3c-pmd使用指南与实现解析

    摘要:年月底,阿里巴巴集团发布了阿里巴巴开发手册终极版,年月日,在杭州云栖大会上,代码规约插件全球首发,插件支持以上版本和以上版本。阿里巴巴代码规约插件安装阿里代码规约插件有插件和插件。 2017年9月底,阿里巴巴集团发布了《阿里巴巴Java开发手册》PDF终极版,2017年10月14日,在2017杭州云栖大会上,Java代码规约插件全球首发,p3c-pmd插件支持Eclipse4.2以上版...

    worldligang 评论0 收藏0
  • 常识之外的规范——阿里java开发手册笔记(全章节)

    摘要:说明这篇文章是我第一次认真阅读阿里巴巴开发手册终极版的笔记。说明本手册明确防止是调用者的责任。一年半载后,那么单元测试几乎处于废弃状态。好的单元测试能够最大限度地规避线上故障。 说明 这篇文章是我第一次(认真)阅读《阿里巴巴 Java 开发手册(终极版)》的笔记。手册本身对规范的讲解已经非常详细了,如果你已经有一定的开发经验并且有良好的编码习惯和意识,会发现大部分规范是符合常识的。所以...

    Martin91 评论0 收藏0
  • 为什么阿里代码规约要求避免使用 Apache BeanUtils 进行属性的拷贝

    摘要:于是我建议这位小伙伴使用了进行属性拷贝,这为我们的程序挖了一个坑阿里代码规约当我们开启阿里代码扫描插件时,如果你使用了进行属性拷贝,它会给你一个非常严重的警告。大名鼎鼎的提供的包,居然会存在性能问题,以致于阿里给出了严重的警告。 声明:本文属原创文章,始发于公号:程序员自学之道,并同步发布于 https://blog.csdn.net/dadiyang,特此,同步发布到 sf,转载请注...

    raledong 评论0 收藏0

发表评论

0条评论

Invoker

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<