摘要:也就是說,在不運行程序的情況下報告錯誤。此外,用戶還可以自己定義規則,檢查代碼是否符合某些特定的編碼規范。使用短寫方式運行任務輸出的檢測報告在我們定義的目錄里可以找到
在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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67837.html
摘要:代碼規約掃描插件以今年年初發布的阿里巴巴開發規約為標準,作為的插件形式存在,檢測代碼中存在不規范得位置然后給予提示。 IntelliJ IDEA是目前最好最強最智能的Java IDE,前幾天,他剛剛年滿18歲。 showImg(https://segmentfault.com/img/remote/1460000017974611);? 本文,給大家推薦幾款我私藏已久的,自己經常使用的...
摘要:年月底,阿里巴巴集團發布了阿里巴巴開發手冊終極版,年月日,在杭州云棲大會上,代碼規約插件全球首發,插件支持以上版本和以上版本。阿里巴巴代碼規約插件安裝阿里代碼規約插件有插件和插件。 2017年9月底,阿里巴巴集團發布了《阿里巴巴Java開發手冊》PDF終極版,2017年10月14日,在2017杭州云棲大會上,Java代碼規約插件全球首發,p3c-pmd插件支持Eclipse4.2以上版...
摘要:說明這篇文章是我第一次認真閱讀阿里巴巴開發手冊終極版的筆記。說明本手冊明確防止是調用者的責任。一年半載后,那么單元測試幾乎處于廢棄狀態。好的單元測試能夠最大限度地規避線上故障。 說明 這篇文章是我第一次(認真)閱讀《阿里巴巴 Java 開發手冊(終極版)》的筆記。手冊本身對規范的講解已經非常詳細了,如果你已經有一定的開發經驗并且有良好的編碼習慣和意識,會發現大部分規范是符合常識的。所以...
摘要:于是我建議這位小伙伴使用了進行屬性拷貝,這為我們的程序挖了一個坑阿里代碼規約當我們開啟阿里代碼掃描插件時,如果你使用了進行屬性拷貝,它會給你一個非常嚴重的警告。大名鼎鼎的提供的包,居然會存在性能問題,以致于阿里給出了嚴重的警告。 聲明:本文屬原創文章,始發于公號:程序員自學之道,并同步發布于 https://blog.csdn.net/dadiyang,特此,同步發布到 sf,轉載請注...
閱讀 1748·2023-04-25 16:28
閱讀 684·2021-11-23 09:51
閱讀 1467·2019-08-30 15:54
閱讀 1149·2019-08-30 15:53
閱讀 2816·2019-08-30 15:53
閱讀 3413·2019-08-30 15:43
閱讀 3250·2019-08-30 11:18
閱讀 3261·2019-08-26 10:25