獨家視頻教程,玩轉《阿裏巴巴Java開發手冊》P3C掃描插件
《阿裏巴巴Java開發手冊》IDE插件(包括PMD規則實現庫)正式對外開源,如何快速掌握插件使用技巧,快速體驗令人激動的自動化、智能化的插件協同工作?阿裏巴巴Java開發手冊P3C項目IDE插件主要開發者駿烈和雲效在線掃描主要開發者勝燕,在雲棲社區直播間,首次為大家提供視頻教程,教大家玩轉插件和在線掃描。
操作演示:大家結合文檔《阿裏巴巴Java開發手冊》IDEA插件與Eclipse插件使用指南和直播視頻一起看,效果會更好!
常見問題:
1.Code Style配置問題
很多用戶提出希望能夠提供一份統一的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插件的功能,這個目前暫時還未做支持,感興趣的同學可以聯係我們。
2.Eclipse體驗優化
目前已經有Eclipse方麵的專家加入進來,各方麵的優化、改進事項都在規劃中,非常歡迎大家提出自己的寶貴意見或者加入進來。
3.eclipse-plugin、idea-plugin和p3c-pmd三個工程之間的關係
- p3c-pmd提供大部分規則實現,基於PMD框架開發,如果想實現自己的規則,可以先看看PMD相關文檔。
- eclipse-plugin依賴p3c-pmd的實現,並且實現了4條需要跨文件掃描的規則。
- IDEA與eclipse類似,也是依賴p3c-pmd的實現,同時實現了4條需要跨文件掃描的規則。
點擊詳情谘詢
雲效怎麼做在線掃描,怎麼與code集成?集成之後,怎麼通過多維度的報表數據,來提升代碼質量,最終達到公司代碼規範統一?
案例分享:
首先,用IDE插件本地掃描的一個Demo。

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

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

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

在線掃描演示:(可結合直播視頻)
首先,打開雲效-測試服務在線掃描入口,點擊測試服務,然後點擊阿裏巴巴Java代碼規約掃描,輸一個測試任務名稱,填寫一下阿裏雲的代碼庫地址,將這個code代碼庫地址複製粘貼過來,代碼分支不填的話默認是master分支,然後點擊確定,確定以後在右上角點運行,就可以對這個代碼庫進行一個掃描。不僅可以掃描自己的代碼,還可以掃描別人公開的代碼。

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

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

流水線有很多屬性
可以掃描/長按識別下圖二維碼體驗!

常見問題:
1.P3C怎麼與gradle集成?
2.P3C怎麼與maven集成?
3.P3C怎麼與sonar集成?
其實很容易集成,因為P3C插件是基於PMD規則開發,可以參考PMD規則與gradle,maven,sonar集成代碼。
參考鏈接:
如有其他問題,可以在本文留言哦~
最後更新:2017-11-09 21:33:37