當前位置:
首頁 > 知識 > 阿里發布的規約插件

阿里發布的規約插件

阿里發布的規約插件

一、前言

昨日(10/14)日,阿里巴巴在杭州雲棲大會上,正式發布了由阿里巴巴 P3C 項目組,經過 247 天的持續研發,正式發布眾所期待的 《阿里巴巴 Java 開發規約》的掃描插件!

P3C 是世界知名的反潛機,專門對付水下潛水艇,寓意是掃描出所有潛在的代碼隱患。這個項目組是阿里巴巴開發愛好者自發組織的虛擬項目組,把《阿里巴巴 Java 開發規約》強制條目轉化自動插件,並實現部分的自動編碼。

該插件已經在 Github 上開源,有興趣的可以直接去看看。

https://github.com/alibaba/p3c

或者在Github直接搜索p3c

二、該插件的主要功能

阿里發布的規約插件

該插件主要是對今年發布的《阿里巴巴 Java 開發規約》的一個延伸,它以一個 IDE 的插件存在,可以自動對手冊中的 Java 不規範的問題進行提示。現在主要支持(IDEA、Eclipse),Android Studio 是基於 IDEA 的,所以也是支持 Android 開發人員的。

該插件在掃描代碼後,會將不符合規約的代碼按照 Blocker/Critical/Major 三個等級顯示在下方,甚至在 IDEA 上,還可以基於 Inspection 機制提供了實時檢測的功能,編寫代碼的同時也能快速發現不規範的代碼。而對於歷史代碼,部分規則實現了批量一鍵修復的功能,為首次在成熟項目上,使用插件,做了非常友善的支持。

三、如何安裝

本著 Android 開發的視角,這裡只介紹如何在 Android Studio 中使用 Alibaba Java Coding Guidelines(以下簡稱阿里規約插件)。其他工具,請翻閱文檔。

3.1 搜索插件

依次選擇:Setting >> Plugins >> Browse repositories .

阿里發布的規約插件

3.2 安裝插件

搜索關鍵字『alibaba』,並在結果中,找到 Alibaba Java Coding Guidelines 並安裝。

阿里發布的規約插件

安裝完成之後,會有提示需要重啟 Android Studio,我們點擊 restart 按鈕就可以幫我們自動重啟,當然我們手動重啟也行。

四、如何使用

4.1 切換語言

阿里規約插件的使用非常的簡單,並且本身插件就是國人開發完成,所以對中文的支持非常的好。

安裝之後,它會默認使用你當前設備選擇的語言環境,進行配置語言,當然你也可以自行切換語言,暫時僅支持 中文 和 英語。

你可以在 Tools >> Alibaba Coding Guidelines >> Switch language to Xxx 進行切換。

阿里發布的規約插件

這裡切換之後,也需要重啟 IDEA 才可以生效。

阿里發布的規約插件

4.2 Inspections 支持

Inspections 相信大家應該都不陌生,它會自動在我們編碼的階段,進行快速靈活的靜態代碼分析,自動檢測編譯器和運行時錯誤,並提示開發人員再編譯之前就進行有效的改正和改進。

這裡舉個簡單的例子。

阿里發布的規約插件

可以看到,它會個我指出我這裡編寫不規範的地方,如果想要查看更多細節,點擊 more 按鈕即可。

阿里發布的規約插件

當然,所有的規範,都可以再 Inspections 中查看到。

阿里發布的規約插件

在 Inspections 中,以 All-Check 區分,以下是它支持的所有檢查,有興趣可以一個個點擊查看細節,右側為檢查出問題之後的提示信息,如果不想要的檢測條件,還可以將它反選掉。

4.3 代碼靜態分析

阿里規約插件,除了支持 Inspections 之外,還可以對現有項目進行靜態代碼分析。

阿里發布的規約插件

它分析的結果,會以 Blocker/Critical/Major 三個級別進行區分。最終檢測出來的效果也非常的直觀,如果你是當前插件語言是中文,基本上一眼就看出來哪裡有問題,並給出了修復建議。

阿里發布的規約插件

4.4 VCS 支持

Android Stuido 中,默認提供 VCS 支持,我們只需要簡單的配置,就可以支持 Git、SVN 等。

Android Studio 中,配合 Git 使用,不了解的可以看看我之前的文章。《工作中,AS和Git更配哦!》

而阿里規約插件,同時也支持這部分的校驗,它可以在我們提交代碼之前,對我們本次提交的代碼進行規約檢測。

阿里發布的規約插件

這個功能,在我看來還是非常的有用的,符合檢測結果之後,自己代碼質量和同隊 Code Review 的效率都會提高。

五、規約源碼

最後說點題外話,簡單看看規約的源碼是什麼結構。

阿里發布的規約插件

從結構上來看,不同的插件分別用不同的項目在維護,這也是毋庸置疑的,本身也不通用。

有趣的是,阿里規約插件是完全使用 Kotlin 進行開發的。

阿里發布的規約插件

可以看到,結構也非常的清晰,對 inspection 的支持,在 compatible/inspection 和 inspection 中,VCS 的支持,在 vcs 中。

細節我們就不多看了,宇晨PHP培訓建議您,有興趣就去閱讀源碼吧。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PHP愛好者 的精彩文章:

Vue 2.5發布了
AJAX原理與CORS跨域
程序員如何寫好簡歷
沒那麼難,談CSS的設計模式
2017最新前端面試題

TAG:PHP愛好者 |