成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

# 在Gradle中使用阿里巴巴Java開(kāi)發(fā)規(guī)約插件進(jìn)行代碼檢查

Invoker / 1259人閱讀

摘要:也就是說(shuō),在不運(yùn)行程序的情況下報(bào)告錯(cuò)誤。此外,用戶還可以自己定義規(guī)則,檢查代碼是否符合某些特定的編碼規(guī)范。使用短寫(xiě)方式運(yùn)行任務(wù)輸出的檢測(cè)報(bào)告在我們定義的目錄里可以找到

在Gradle中使用阿里巴巴Java開(kāi)發(fā)規(guī)約插件進(jìn)行代碼檢查 概述

  最近阿里發(fā)布了《阿里巴巴Java開(kāi)發(fā)手冊(cè)》,一時(shí)間無(wú)數(shù)阿里擁躉如獲武穆遺書(shū),就在近日阿里又順便發(fā)布了<阿里巴巴java開(kāi)發(fā)規(guī)約插件>,可以輕松的在碼字階段獲得相應(yīng)的編碼提示,那么,在Gradle中如何應(yīng)用阿里開(kāi)發(fā)規(guī)約進(jìn)行代碼檢查呢.且看下文.

  阿里的開(kāi)發(fā)規(guī)約插件是基于PMD進(jìn)行的代碼檢測(cè),所以在Gradle應(yīng)用阿里開(kāi)發(fā)規(guī)約檢查只需要使用gradle提供的pmd插件即可達(dá)成目的.
目前阿里開(kāi)發(fā)規(guī)約提供了如下一些規(guī)則配置,要應(yīng)用這些配置只需要將他們配置到pmd的檢查規(guī)則中即可.

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)是一種開(kāi)源分析Java代碼錯(cuò)誤的工具。與其他分析工具不同的是,PMD通過(guò)靜態(tài)分析獲知代碼錯(cuò)誤。也就是說(shuō),在不運(yùn)行Java程序的情況下報(bào)告錯(cuò)誤。PMD附帶了許多可以直接使用的規(guī)則,利用這些規(guī)則可以找出Java源程序的許多問(wèn)題。此外,用戶還可以自己定義規(guī)則,檢查Java代碼是否符合某些特定的編碼規(guī)范。
  PMD的核心是JavaCC解析器生成器。PMD結(jié)合運(yùn)用JavaCC和EBNF(擴(kuò)展巴科斯-諾爾范式,Extended Backus-Naur Formal)語(yǔ)法,再加上JJTree,把Java源代碼解析成抽象語(yǔ)法樹(shù)(AST,Abstract Syntax Tree)。

以上內(nèi)容引自百度百科-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}"
}

這里有幾個(gè)需要注意的點(diǎn)

gradle的pmd插件為rule都添加了默認(rèn)的java-前綴,一定不要丟掉

dependencies中依賴(lài)的范圍是pmd,這樣依賴(lài)才會(huì)加到pmdClasspath中為pmd所用

關(guān)于本插件的一些其它配置可以查看 pmd插件dsl手冊(cè)

運(yùn)行檢查

該插件提供了如下幾個(gè)任務(wù)

任務(wù)名稱(chēng) 描述
pmdMain 檢查src/main/java下的代碼
pmdTest 檢查src/main/test下的代碼
pmdSourceSet 檢查給定范圍的代碼
check 檢查源碼和單元測(cè)試代碼

可以按照需求運(yùn)行對(duì)應(yīng)任務(wù)進(jìn)行代碼檢查。

//使用短寫(xiě)方式運(yùn)行pmdMain任務(wù)
gradle pM

輸出的檢測(cè)報(bào)告在我們定義的目錄里可以找到build/reports/pmd

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67837.html

相關(guān)文章

  • IntelliJ IDEA 18 周歲,吐血推進(jìn)珍藏已久的必裝插件

    摘要:代碼規(guī)約掃描插件以今年年初發(fā)布的阿里巴巴開(kāi)發(fā)規(guī)約為標(biāo)準(zhǔn),作為的插件形式存在,檢測(cè)代碼中存在不規(guī)范得位置然后給予提示。 IntelliJ IDEA是目前最好最強(qiáng)最智能的Java IDE,前幾天,他剛剛年滿18歲。 showImg(https://segmentfault.com/img/remote/1460000017974611);? 本文,給大家推薦幾款我私藏已久的,自己經(jīng)常使用的...

    趙春朋 評(píng)論0 收藏0
  • 阿里巴巴Java代碼規(guī)約插件p3c-pmd使用指南與實(shí)現(xiàn)解析

    摘要:年月底,阿里巴巴集團(tuán)發(fā)布了阿里巴巴開(kāi)發(fā)手冊(cè)終極版,年月日,在杭州云棲大會(huì)上,代碼規(guī)約插件全球首發(fā),插件支持以上版本和以上版本。阿里巴巴代碼規(guī)約插件安裝阿里代碼規(guī)約插件有插件和插件。 2017年9月底,阿里巴巴集團(tuán)發(fā)布了《阿里巴巴Java開(kāi)發(fā)手冊(cè)》PDF終極版,2017年10月14日,在2017杭州云棲大會(huì)上,Java代碼規(guī)約插件全球首發(fā),p3c-pmd插件支持Eclipse4.2以上版...

    worldligang 評(píng)論0 收藏0
  • 常識(shí)之外的規(guī)范——阿里java開(kāi)發(fā)手冊(cè)筆記(全章節(jié))

    摘要:說(shuō)明這篇文章是我第一次認(rèn)真閱讀阿里巴巴開(kāi)發(fā)手冊(cè)終極版的筆記。說(shuō)明本手冊(cè)明確防止是調(diào)用者的責(zé)任。一年半載后,那么單元測(cè)試幾乎處于廢棄狀態(tài)。好的單元測(cè)試能夠最大限度地規(guī)避線上故障。 說(shuō)明 這篇文章是我第一次(認(rèn)真)閱讀《阿里巴巴 Java 開(kāi)發(fā)手冊(cè)(終極版)》的筆記。手冊(cè)本身對(duì)規(guī)范的講解已經(jīng)非常詳細(xì)了,如果你已經(jīng)有一定的開(kāi)發(fā)經(jīng)驗(yàn)并且有良好的編碼習(xí)慣和意識(shí),會(huì)發(fā)現(xiàn)大部分規(guī)范是符合常識(shí)的。所以...

    Martin91 評(píng)論0 收藏0
  • 為什么阿里代碼規(guī)約要求避免使用 Apache BeanUtils 進(jìn)行屬性的拷貝

    摘要:于是我建議這位小伙伴使用了進(jìn)行屬性拷貝,這為我們的程序挖了一個(gè)坑阿里代碼規(guī)約當(dāng)我們開(kāi)啟阿里代碼掃描插件時(shí),如果你使用了進(jìn)行屬性拷貝,它會(huì)給你一個(gè)非常嚴(yán)重的警告。大名鼎鼎的提供的包,居然會(huì)存在性能問(wèn)題,以致于阿里給出了嚴(yán)重的警告。 聲明:本文屬原創(chuàng)文章,始發(fā)于公號(hào):程序員自學(xué)之道,并同步發(fā)布于 https://blog.csdn.net/dadiyang,特此,同步發(fā)布到 sf,轉(zhuǎn)載請(qǐng)注...

    raledong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<