天天看點

阿裡巴巴Java開發規約插件p3c詳細教程及使用感受

先整理一下比較明顯的優點:中文提示,且按照《阿裡巴巴Java開發手冊》給出詳細的提示和解釋,看起來真的很舒服。能夠檢測出一些平時不在意的問題,可以提高開發編碼過程中對于細枝末節的注意。quick fix,檢測出問題後點選一下按鈕即可完成代碼的修改。基本滿足代碼規範檢測的需求。

作者:13

GitHub:https://github.com/ZHENFENG13

版權聲明:本文為原創文章,未經允許不得轉載。

阿裡巴巴Java開發手冊

在進入正題介紹這款插件之前,首先來談一下《阿裡巴巴Java開發手冊》,2017年年初,首次公開的阿裡官方Java代碼規範标準手冊可以說是引起了全民(IT界)代碼規範的熱潮,相信這個手冊很多行業内的朋友都比較熟悉,畢竟有"大廠光環",想低調都難,這個手冊的願景是:

"統一規範标準将有助于提高行業編碼規範化水準,幫助行業人員提高開發品質和效率、大大降低代碼維護成本"
阿裡巴巴Java開發規約插件p3c詳細教程及使用感受

至今為止已更疊了三個版本,2017年9月25日,《阿裡巴巴Java開發手冊(終極版)》正式釋出,也是阿裡官方對外釋出的最後一個PDF版本。最新版下載下傳位址在這裡。

插件介紹

《阿裡巴巴Java開發手冊》自從第一個版本起,倍受業界關注,相信很多人對其中的規則也有了一定的了解,很多人甚至希望能盡快在自己的團隊推行起來,這樣大家有了一套共同的開發準則。但是,如何更好的去遵守規則并且按照手冊去開發我們的系統确變得不那麼容易,為了讓開發者更加友善、快速的将規範推動并實行起來,阿裡巴巴基于手冊内容,研發了一套自動化的IDE檢測插件(IDEA、Eclipse), 該插件在掃描代碼後,将不符合《手冊》的代碼按Blocker/Critical/Major三個等級顯示在下方,甚至在IDEA上,還基于Inspection機制提供了實時檢測功能,編寫代碼的同時也能快速發現問題所在。對于曆史代碼,部分規則實作了批量一鍵修複的功能,提升代碼品質,提高團隊研發效能。

代碼已經開源,GitHub:https://github.com/alibaba/p3c

我們來體驗一下吧!

插件使用簡易教程(基于IDEA)

搜尋插件

打開IDEA,選擇Preferences - Plugins - Browse repositories後,在輸入框中輸入"alibaba",可以看到傳回結果中有"Alibaba Java Coding Guidelines"。

阿裡巴巴Java開發規約插件p3c詳細教程及使用感受

在一周前開始構思這篇文章時,已經有16340的下載下傳量了,現在應該更多了,贊一下。

阿裡巴巴Java開發規約插件p3c詳細教程及使用感受

安裝插件

點選插件詳情中的"install"按鈕,按照其提示即可完成安裝,安裝完成後需重新開機IDEA。

功能體驗

安裝後完成後,需要重新開機IDEA,重新開機後就可以在菜單欄中看到它的功能按鈕,有三種方式可以掃描代碼:

  • 在項目目錄上右鍵點選也會出現這兩個功能按鈕,點選綠色的按鈕即可開始掃描代碼,或者在工程目錄上右鍵也會出現檢測的功能按鈕。
    阿裡巴巴Java開發規約插件p3c詳細教程及使用感受
  • 如果不想全部掃描,隻掃描目前編輯的檔案的話,在目前檔案面闆中點選右鍵也會出現此功能按鈕。
    阿裡巴巴Java開發規約插件p3c詳細教程及使用感受
  • 前面說的兩種方式是手動檢測,插件也提供了實時監測的功能,此功能預設開啟,一旦開啟則會在你編寫代碼時就會實時監測,一旦有不符合規範的語句就會出現錯誤提示。
    阿裡巴巴Java開發規約插件p3c詳細教程及使用感受
    由于大括号不規範的問題,

    if

    下方有錯誤紅線的提示。
    阿裡巴巴Java開發規約插件p3c詳細教程及使用感受
    idea中有quick fix快捷鍵:

    option/alt+enter

    ,點選後則可以自動添加大括号。

掃描代碼後,不符合規約的代碼會按Blocker/Critical/Major三個等級顯示在下方面闆中,如圖:

阿裡巴巴Java開發規約插件p3c詳細教程及使用感受

左邊是掃描出的不符合規範的代碼,依次點進去可以看到是代碼的多少行出現了規約問題以及哪一個規約問題,右邊則是規約的較長的描述及執行個體代碼。

阿裡巴巴Java開發規約插件p3c詳細教程及使用感受

不僅如此,右側還有quick fix的按鈕,點選後直接可以改正代碼,但是并不是所有的問題都有此按鈕,有些問題還是需要手動修改。

支援版本

IDEA官方倉庫:最低支援版本14.1.7,JDK1.7+

Eclipse版插件:支援4.2(Juno,JDK1.8+)及以上版本

檢測更新

可以通過 Help >> Check for Udates 進行插件新版檢測

插件解除安裝

在插件面闆點選"uninstall"即可。

使用感受

并沒有在插件剛出來的時候整理這篇文章,而是使用了一段時間後才決定寫這篇文章,目前已經使用了一個多星期,整體的感覺還算滿意,可能是一開始的要求和期待有點高了,使用後覺得也就那樣,100分的話給80分吧(個人意見,不用太在意),其中10分是因為中文的原因,哈哈哈哈。

先整理一下比較明顯的優點:

  • 中文提示,且按照《阿裡巴巴Java開發手冊》給出詳細的提示和解釋,看起來真的很舒服。
  • 能夠檢測出一些平時不在意的問題,可以提高開發編碼過程中對于細枝末節的注意。
  • quick fix,檢測出問題後點選一下按鈕即可完成代碼的修改。
  • 基本滿足代碼規範檢測的需求。

缺點嘛,也存在:

  • 隻支援IDEA和Eclipse,且對版本有要求。
  • 有錯别字(小問題)。
  • 有bug。

目前此插件還處于第一個公開版本,是以肯定還有一些小問題或者小bug,以後應該會慢慢修複的,但是已經基本滿足代碼審查的需求了,用起來也比較滿意。不過,一些容易産生空指針異常的語句和問題,好像并不能檢查出來,隻是滿足基本的代碼品質檢測,如果要求較嚴格的話,還是需要使用SonarQube這種較專業的工具來進行代碼品質檢測和分析,相比較而言,p3c較為基礎,SonarQube較為齊全一些,不過這種比較也是不對稱比較,目前來看,兩者根本不是一個量級的工具。

多說幾句,此插件所使用的規範為阿裡公布的那套規範,肯定與其他規範有少許的出入和不同,記得在阿裡這份規範公布時,有人甚至在評論區用"八股文"來形容它,我感覺沒這麼恐怖吧,規範嘛,你遵守了就是規範,你不遵守它算個什麼東西啊,各家有各家的規範,也不可能完全統一,選擇适合自己的就好,沒必要上綱上線,言盡于此,不找罵了。

總結

推薦一下自己的達人課,感興趣的朋友可以看一下:SSM搭建精美實用的管理系統

阿裡巴巴Java開發規約插件p3c詳細教程及使用感受

是不是使用了這個插件之後就能夠讓我們的代碼中少一些Bug?是不是我們就能少踩一些坑?答案肯定不是,插件隻有檢測和提示作用,真正的編碼者依然是自己,是以不要本末倒置,這隻是一個工具而已,這種想法一定不能存在,真正要寫出健壯代碼最重要的還在于編碼者自己。

首發于我的個人部落格,2017年10月22日。

我曾七次鄙視自己的靈魂:

第一次,當它本可進取時,卻故作謙卑;

第二次,當它空虛時,用愛欲來填充;

第三次,在困難和容易之間,它選擇了容易;

第四次,它犯了錯,卻借由别人也會犯錯來寬慰自己;

第五次,它自由軟弱,卻把它認為是生命的堅韌;

第六次,當它鄙夷一張醜惡的嘴臉時,卻不知那正是自己面具中的一副;

第七次,它側身于生活的污泥中雖不甘心,卻又畏首畏尾。

繼續閱讀