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

做者:13
GitHub:https://github.com/ZHENFENG13
版權聲明:本文爲原創文章,未經容許不得轉載。html

阿里巴巴Java開發手冊

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

"統一規範標準將有助於提升行業編碼規範化水平,幫助行業人員提升開發質量和效率、大大下降代碼維護成本"git

終極版

至今爲止已更迭了三個版本,2017年9月25日,《阿里巴巴Java開發手冊(終極版)》正式發佈,也是阿里官方對外發布的最後一個PDF版本。最新版下載地址在這裏github

插件介紹

《阿里巴巴Java開發手冊》自從第一個版本起,倍受業界關注,相信不少人對其中的規則也有了必定的瞭解,不少人甚至但願能儘快在本身的團隊推行起來,這樣你們有了一套共同的開發準則。可是,如何更好的去遵照規則而且按照手冊去開發咱們的系統確變得不那麼容易,爲了讓開發者更加方便、快速的將規範推進並實行起來,阿里巴巴基於手冊內容,研發了一套自動化的IDE檢測插件(IDEA、Eclipse), 該插件在掃描代碼後,將不符合《手冊》的代碼按Blocker/Critical/Major三個等級顯示在下方,甚至在IDEA上,還基於Inspection機制提供了實時檢測功能,編寫代碼的同時也能快速發現問題所在。對於歷史代碼,部分規則實現了批量一鍵修復的功能,提高代碼質量,提升團隊研發效能。ide

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

咱們來體驗一下吧!ui

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

搜索插件

打開IDEA,選擇Preferences - Plugins - Browse repositories後,在輸入框中輸入"alibaba",能夠看到返回結果中有"Alibaba Java Coding Guidelines"。
search
在一週前開始構思這篇文章時,已經有16340的下載量了,如今應該更多了,贊一下。
install編碼

安裝插件

點擊插件詳情中的"install"按鈕,按照其提示便可完成安裝,安裝完成後需重啓IDEA。idea

功能體驗

安裝後完成後,須要重啓IDEA,重啓後就能夠在菜單欄中看到它的功能按鈕,有三種方式能夠掃描代碼:插件

  • 在項目目錄上右鍵點擊也會出現這兩個功能按鈕,點擊綠色的按鈕便可開始掃描代碼,或者在工程目錄上右鍵也會出現檢測的功能按鈕。
    check
  • 若是不想所有掃描,只掃描當前編輯的文件的話,在當前文件面板中點擊右鍵也會出現此功能按鈕。
    check2
  • 前面說的兩種方式是手動檢測,插件也提供了實時監測的功能,此功能默認開啓,一旦開啓則會在你編寫代碼時就會實時監測,一旦有不符合規範的語句就會出現錯誤提示。
    check3
    因爲大括號不規範的問題,if下方有錯誤紅線的提示。
    check4
    idea中有quick fix快捷鍵:option/alt+enter,點擊後則能夠自動添加大括號。

掃描代碼後,不符合規約的代碼會按Blocker/Critical/Major三個等級顯示在下方面板中,如圖:
check-result
左邊是掃描出的不符合規範的代碼,依次點進去能夠看到是代碼的多少行出現了規約問題以及哪個規約問題,右邊則是規約的詳細描述及實例代碼。
critical
不只如此,右側還有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搭建精美實用的管理系統

gitchat

是否是使用了這個插件以後就可以讓咱們的代碼中少一些Bug?是否是咱們就能少踩一些坑?答案確定不是,插件只有檢測和提示做用,真正的編碼者依然是本身,因此不要本末倒置,這只是一個工具而已,這種想法必定不能存在,真正要寫出健壯代碼最重要的還在於編碼者本身。

首發於個人我的博客,2017年10月22日。

相關文章
相關標籤/搜索