《阿里巴巴Java開發規約》插件全球首發!

2021-01-08 開源中國

經過247天的持續研發,阿里巴巴於10月14日在杭州雲棲大會上,正式發布眾所期待的《阿里巴巴Java開發規約》掃描插件!

插件全球首發儀式,大牛雲集

阿里巴巴大牛天團傾力助陣:畢玄、玄難、索尼、葉渡,淘寶代碼第一人多隆、代碼規約作者孤盡攜手規約項目組成員,以及業界規約生態代表等重磅大咖聯合發布阿里巴巴代碼規約插件!

平日低調的大神們,為了這次盛會都來了~

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

插件下載地址:https://github.com/alibaba/p3c 

或者在Github直接搜索p3c

插件有哪些功能?

阿里技術公眾號於今年的2月9日首次公布《阿里巴巴Java開發規約》,瞬間引起全民代碼規範的熱潮,上月底又發布了PDF的終極版,大家踴躍留言,期待配套的靜態掃描工具開放出來。

為了讓開發者更加方便、快速將規範推動並實行起來,阿里巴巴基於手冊內容,研發了一套自動化的IDE檢測插件(IDEA、Eclipse)。該插件在掃描代碼後,將不符合規約的代碼按Blocker/Critical/Major三個等級顯示在下方,甚至在IDEA上,我們還基於Inspection機制提供了實時檢測功能,編寫代碼的同時也能快速發現問題所在。對於歷史代碼,部分規則實現了批量一鍵修復的功能,如此爽心悅目的功能是不是很值得擁有?提升代碼質量,提高團隊研發效能,插件將會一路同行。

插件掃描結果示例:

說明:從圖中可以看出掃描結果有1個block錯誤(不符合命名方式);有20個critical錯誤和54個major錯誤。雙擊可以定位至代碼處,右側窗口還有代碼的批量修復功能。

如何安裝IDEA插件?

目前,我們已將IDEA版的插件,發布至IDEA官方倉庫中(最低支持版本14.1.7,JDK1.7+)。你只需打開 Settings >> Plugins >> Browse repositories 輸入 Alibaba 搜索,看到對應插件後即可安裝。

至於具體如何使用,請大家到官方Github倉庫中進行查看。IDEA會自動檢測插件新版,並提示出來,所以大家不用擔心插件的更新問題。

Github倉庫地址:https://github.com/alibaba/p3c

如何安裝Eclipse插件?

Eclipse版插件支持4.2(Juno,JDK1.8+)及以上版本,我們提供自主的Update Site,通過 Help >> Install New Software 然後輸入https://p3c.alibaba.com/plugin/eclipse/update 即可看到安裝列表。大家可以通過 Help >> Check for Udates 進行插件新版檢測。

成為全球開源標準代碼規範

上月底阿里巴巴對海外發布了《阿里巴巴Java開發規約》的英文版,我們的願景是做成全世界的開源標準代碼規範。

阿里巴巴P3C項目組會長期更新與維護插件,我們也希望更多的人參與進來,除了發現和解決已實現的檢測規則以外,能夠實現更多有益的規則,讓插件變得更加完善並且幫助到更多的開發者。

如果你在使用插件的過程裡,有任何問題或建議,歡迎與代碼規約作者孤盡聯繫。

孤盡郵箱:guanbao.yanggb@taobao.com

本文轉載自「阿里技術」

相關焦點

  • 《阿里巴巴Java開發手冊》實體書開啟預售!
    阿里妹導讀:《阿里巴巴Java開發手冊》將阿里技術團隊的經驗總結,系統化整理成冊,獻給廣大開發者。
  • eclipse離線安裝sonarlink和阿里規約插件提高代碼質量
    sonarlink是eclipse的代碼質量檢查工具插件,在寫代碼的時候會給出提示。java程式設計師應該知道阿里規約吧,我們在寫代碼的時候應該遵循規約來提高我們的代碼質量。阿里規約不僅只有文檔,還有配合IDE使用的插件。
  • 十萬閱讀技術博主深入挖掘阿里開發思維Java開發手冊靈魂十三問
    本書作者:hollis侵權聯繫刪除大家都知道,前段時間阿里巴巴剛剛發布了《Java開發手冊》泰山版,新增5條日期時間規約;新增2條表別名sql規約;新增統一錯誤碼規約。這份開發手冊,從問世至今已經更新了很多個版本,已經是很多開發者日常參考的規範了。
  • 阿里Java開發規約為什麼不建議使用Apache BeanUtils拷貝對象?
    前言做 JAVA 開發的同學都知道,在 JAVA 世界中萬事萬物皆為對象。是我們在實際開發中,經常會遇到將一個對象實例拷貝轉換為另一個對象實例的情況:對兩個對象的屬性進行淺(深)度複製。先給出一個簡單的使用實例,代碼如下:從上面的例子可以看出,BeanUtils工具的使用非常簡單,最常用的方法就是:默認情況下,使用org.apache.commons.beanutils.BeanUtils對複雜對象是進行的淺拷貝,但是由於 Apache下的BeanUtils對象拷貝性能太差,不建議使用,這在阿里巴巴
  • 為什麼阿里巴巴Java開發手冊強制整型包裝類對象值用equals比較?
    在閱讀《阿里巴巴Java開發手冊》時,發現有一條關於整型包裝類對象之間值比較的規約,具體內容如下:這條建議非常值得大家關注, 而且該問題在 Java 面試中十分常見。還需要思考以下幾個問題:如果不看《阿里巴巴Java開發手冊》,如何知道 Integer var = ? 會緩存 -128 到 127 之間的賦值?為什麼會緩存這個範圍的賦值?
  • 都聽過阿里巴巴java開發規範,一起看下華為Java編程規範
    代碼規約是一種文化軟實力,關係著網際網路公司規模化生產效率,從這點上講就是要提升研發效率,提升代碼質量。相信大家都聽過《阿里巴巴Java開發手冊》,手冊涵蓋編程規約、單元測試規約、異常日誌規約、MySQL 規約、工程規約、安全規約等。
  • Java 開發的 10 大必備 Eclipse 插件
    毫無疑問,Eclipse 是 Java 開發最流行的 IDE 之一,而這一切主要歸功於 Eclipse 的插件。據悉,Eclipse 有數百個插件,可用於不同類型的任務,並與其他工具集成,比如從 GitHub、SVN、CVS 等下載代碼的插件。通過使用正確的插件,開發者可以提高開發效率。
  • Java 開發必裝的 IntelliJ IDEA 插件
    IDEA 插件簡介常見的IDEA插件主要有如下幾類:常用工具支持Java日常開發需要接觸到很多常用的工具,為了便於使用,很多工具也有IDEA插件供開發使用,其中大部分已經在IDEA中默認集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。
  • 匯總一下Intellij IDEA炫酷的插件
    戳藍字「java程序媛之家」關注我哦!酷 三個插件都裝上吧,相互補充5、翻譯插件 translation plugin推薦指數:☆☆☆☆推薦理由:不能翻牆的同學,請自行百度如何更換為百度翻譯。在ide中直接翻譯,不需要跳轉到網頁了,效率神器!
  • 如何使Java程式設計師擁有高效率的開發環境
    如何使Java程式設計師擁有高效率的開發環境 作為一名程式設計師,好的開發環境可以提升你的工作效率,事半功倍。那麼一名Java程式設計師應該擁有什麼樣的開發工具呢。
  • 開發屬於自己的第一款IDEA插件!
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫作者:木杉http://imushan.com/寫Java代碼的時候,經常會涉及到重複性的操作
  • 為什麼阿里巴巴要求謹慎使用ArrayList中的subList方法
    集合是Java開發日常開發中經常會使用到的。在之前的一些文章中,我們介紹過一些關於使用集合類應該注意的事項,如《為什麼阿里巴巴禁止在 foreach 循環裡進行元素的 remove/add 操作》、《為什麼阿里巴巴建議集合初始化時,指定集合容量大小》等。
  • java新手揭秘:阿里巴巴為何禁止使用Executors來創建線程池
    當一個java新手從不斷地Curd階段跳出來之後,就會學習java的並發,並行等高階用法,自然就會用到線程、線程池,線程池的好處這裡就不做詳細解釋,你應該會學習到Executors創建線程池的四個方法, 分別是:newFixedThreadPool
  • 【基礎回溯2】Java 基礎知識疑難點/易錯點
    注意: 如果你的IDE(IDEA/Eclipse)上安裝了阿里巴巴的p3c插件,這個插件如果檢測到你用 ==的話會報錯提示,推薦安裝一個這個插件,很不錯。1.3. BigDecimal1.3.1.BigDecimal 的用處《阿里巴巴Java開發手冊》中提到:浮點數之間的等值判斷,基本數據類型不能用==來比較,包裝數據類型不能用 equals 來判斷。
  • burpsuite插件編譯學習指南
    簡介:本文講解如何編譯github上相關burp插件作者開發的基於maven構建的java項目,讓初學者也能自己動手編譯自己需要的burp插件,以及更方便的閱讀和學習開發者的代碼。用戶都不喜歡C盤空間被強姦的感覺示例如圖所示:3、有時需要修改插件的某些bug或者完善插件某些功能,異或學習插件開發。
  • Deepin開發真香!Java開發環境全套安裝及配置圖文教程
    >Spring Initializr:在IDEA中安裝Spring Initializr插件Hello World:編寫並運行一個Hello World項目本文內容主要是針對Java開發環境的配置教程一.安裝JDK作為一個Java開發者,準備好JDK的環境是第一件必須做的事情
  • Burpsuit插件開發(Java篇)
    *;import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class 表格Demo {    public 表格Demo() {        JFrame f = new JFrame();        Object[][] playerInfo = {
  • 阿里巴巴常用的 12 個後端開發工具,建議你快快收藏!
    從手動編碼到自動化,從重複工作到創新,開發人員工具隨著技術的發展而不斷發展。阿里巴巴集團和阿里巴巴雲已通過開源發布和基於雲的實施向公眾提供其技術。通過在各種業務場景中的多年開發積累了這些技術。本文介紹了一些阿里巴巴開發人員工具,希望它們可以幫助您的開發過程更加高效和優雅。
  • 【IDEA 系列】插件推薦
    因為大家使用的 IDEA 版本可能不一樣,下面提到的插件,有些可能需要我們安裝,有些是內置插件,例如 RestfulToolkit、 Lombok 等在 2020.3 版本就成內置插件了。IDEA 插件倉庫地址 https://plugins.jetbrains.com,以下介紹的插件,都可以在這裡找到,排名不分先後。
  • 五分鐘學會 Java 開發效率神器 Lombok
    為什麼需要特地安裝 IDEA lombok 插件?其實在 maven 加入 lombok 依賴之後,使用 mvn clean package 就可以正常 build 過,在 IDEA 中點擊綠色按鈕也可以運行程式之所以還要特地安裝 IDEA lombok 插件,是因為如果不安裝 lombok 插件的話,IDEA 就會沒辦法自動提示出 lombok