天天看點

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

<b>插件操作</b>

<b>常見問題:</b>

<b>1.Code Style配置問題</b>

很多使用者提出希望能夠提供一份統一的Code Style配置,但通過Eclipse、IDEA自己的配置無法做到兩個平台完全統一。在各種取舍的情況下仍然會有幾個不同點,如下:

分号,IDEA設定的After Semicolon 會對for所有分号後面加空格,Eclipse 設定insert space after Semicolon in for則不會。

縮進政策不一緻,如方法調用折行後的縮進。

類注釋 IDEA會對描述進行縮進,Eclipse有配置項,但是同時對方法、類注釋生效。

解決辦法有兩個:

提供一份Eclipse的配置,IDEA端使用Eclipse Code Formatter之類的插件來做到格式化統一。但對于IDEA使用者不夠友好,也不夠靈活。

提供類似Google Code Format插件的功能,這個目前暫時還未做支援,感興趣的同學可以聯系我們。

<b>2.Eclipse體驗優化</b>

目前已經有Eclipse方面的專家加入進來,各方面的優化、改進事項都在規劃中,非常歡迎大家提出自己的寶貴意見或者加入進來。

<b>3.eclipse-plugin、idea-plugin和p3c-pmd三個工程之間的關系</b>

p3c-pmd提供大部分規則實作,基于PMD架構開發,如果想實作自己的規則,可以先看看PMD相關文檔。

eclipse-plugin依賴p3c-pmd的實作,并且實作了4條需要跨檔案掃描的規則。

IDEA與eclipse類似,也是依賴p3c-pmd的實作,同時實作了4條需要跨檔案掃描的規則。

<b>線上掃描</b>

<b></b>

雲效怎麼做線上掃描,怎麼與code內建?內建之後,怎麼通過多元度的報表資料,來提升代碼品質,最終達到公司代碼規範統一?

<b>案例分享:</b>

首先,用IDE插件本地掃描的一個Demo。

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

然後,我們會看到雲效掃描的問題數,對應的掃描問題,以及在對應的代碼多少行,都能夠在雲效系統看的清清楚楚。

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

有時候開發隻想知道增量有沒有問題?曆史問題太多修複不過來,我們需要保證新增的代碼有沒有問題。可以将P3C規則內建在code系統中,在阿裡内部已經進行了這樣一個內建。如下圖所示,送出code review的時候,會自動将增量代碼掃描,然後知道增量代碼的品質是怎樣的。

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

這些都做完以後,我們可以将各類應用的代碼掃描資料做成報表,每周可以發代碼品質報告。俗話說得好,隻有資料才能促進研發效能的提升。我們通過這份報表,看到誰做得好或不好,一目了然,逐漸地就可以将公司的代碼規範,真正的工具化落地實施。

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件
獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

然後,重新整理一下頁面,大概等幾十秒吧,可以看到下圖顯示的結果。可以看到這個代碼庫總共有62個問題,blockers是0,critical是1,然後major是61。點開可以看到報告的具體詳情,比如哪些檔案違反了哪些規則,以及哪些規則違反了多少次,都一目了然,接着可以對照這個報告來修複問題。當然我們會建議使用者直接在本地進行修複。

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

除了提供掃描工具,雲效還提供從“需求-&gt;開發-&gt;測試-&gt;釋出-&gt;運維-&gt;營運”端到端的協同服務和研發工具支撐。在釋出流程中,也可以加規約掃描。打開流水線項目,點選流水線,打開一個配好的,先建構然後進行代碼規約的掃描,掃描後自動做一個單元測試,然後自動部署。

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

流水線有很多屬性

可以掃描/長按識别下圖二維碼體驗!

獨家視訊教程,玩轉《阿裡巴巴Java開發手冊》P3C掃描插件

1.P3C怎麼與gradle內建?

2.P3C怎麼與maven內建?

3.P3C怎麼與sonar內建?

其實很容易內建,因為P3C插件是基于PMD規則開發,可以參考PMD規則與gradle,maven,sonar內建代碼。

<b>參考連結:</b>

如有其他問題,可以在本文留言哦~

繼續閱讀