Android studio 插件:阿里發佈的java規約插件

一、前言

阿里巴巴在杭州雲棲大會上,正式發佈了由阿里巴巴 P3C 項目組,經過 247 天的持續研發,正式發佈衆所期待的 《阿里巴巴 Java 開發規約》的掃描插件!

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

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

https://github.com/alibaba/p3c 

或者在Github直接搜索p3c

二、該插件的主要功能

/WechatIMG57.jpeg

該插件主要是對今年發佈的《阿里巴巴 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 .

install_1.png

3.2 安裝插件

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

/install-plugin.png

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

四、如何使用

4.1 切換語言

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

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

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

switch-language

這裏切換之後,也需要重啓 IDEA 纔可以生效。

/smartfox-restart.png

4.2 Inspections 支持

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

這裏舉個簡單的例子。

/thread-factory-wraning.png

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

/wraning-more.png

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

/insp-dialog.png

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

4.3 代碼靜態分析

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

/code-any.png

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

/code-result.png

4.4 VCS 支持

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

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

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

/analyze_before_checkin.png

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

五、規約源碼

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

/project.png

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

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

/idea-plugin.png

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

細節我們就不多看了,有興趣就去閱讀源碼吧。

小結

阿里規約插件,插件的主要情況,本文已經講解清楚了。

但是它主要還是基於之前發佈的 《阿里巴巴 Java 開發手冊 終極版》,建議還是提前閱讀一下本文檔,可以在承香墨影中回覆『阿里規約』,即可查看完整的文檔。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章