當前位置:首頁 » 編程語言 » java阿里規范

java阿里規范

發布時間: 2022-12-21 16:22:19

❶ 如何評價阿里近期發布的java編碼規范

抽空看了幾章,感覺挺好的 諸如命名規范的話 其實很多java入門書籍就是這么規范的。甚至有一些變數的命名 比如:boolean類型的變數不要用isXX命名,否則反序列化的時候U有可能會有問題。這其中就夾雜了經驗總結出來的東西。
規范其實就是大家一起遵守的一些規則,大家都按這個規則來,其實是為了更好的團隊協作。每個公司有可能有各自的編碼風格,所以不一定要完全按照阿里的java把編碼規范來,但是文章還是寫的不錯的,基本上是通用的一些規范。

❷ 這是最新的阿里java開發規范嗎

沒錯這個是最新

❸ eclipse alibaba代碼規范插件怎麼使用

在開發中,好的編程風格可以提升團隊合作能力,提升開發的效率,但是每個人都有自己的編程習慣,如何能夠將大家的編程風格統一,這個在團隊中也很重要;

在Java編程中,阿里出版過一套關於Java的開發規范手冊,我們可以在開發中按照這一套手冊來進行開發,但是手冊的內容比較多,因此阿里也專門提供了一套編碼規范的插件,可以將插件安裝到我們的開發環境中提升開發效率。

IDEA中阿里編碼規范的安裝:

1. 進入File->Setting

2.選擇Plugins選項

3.在Plugins頁面選擇Marketplace選項,然後輸入ali,會將ali相關的插件列出來

選擇Alibaba Java Coding Guidelins進行安裝,安裝完成之後,需要重新啟動IDEA,插件才可以生效。

之後的開發中,如果我們的編碼有不規范的地方,IDEA就會有相應的提示。

或者我們可以在頁面中右擊滑鼠右鍵,在彈出的列表中選擇編碼規約掃描,就可以將掃描結果列出來。

掃描之後結果會在下方列出來,比如未增加創建者信息,不允許任何魔法值等,並會詳細定位到代碼位置,而且也會詳細介紹原因並且給出正確的代碼示例。

由於阿里是我們國內的企業,因此阿里規范插件給我們提示的時候,也會按照中文的方式給我們提示,對於英語不好的人來說,方便了很多。

使用阿里規范的時候,也可以和Git進行組合一起操作,就是當我們選擇提交代碼的時候,可以將檢查規范的選項勾選,這樣在提交的時候,如果有不規范的代碼,IDEA就會提示我們是否確認要提交。

無法查找到插件解決辦法:

有時候我們在搜索插件的時候,由於網路原因,經常性的搜索不到插件,這時候我們就需要離線進行安裝插件;

首先我們需要先到IDEA官網查找我們需要的插件信息:

輸入我們想要安裝的插件信息進行搜索,查找到之後選擇進入插件詳情頁面

在詳情頁中我們可以選擇不同版本的插件進行下載,將插件下載好之後我們就可以在我們IDEA中離線進行安裝插件了;

離線安裝插件的過程是在插件頁面選擇installed旁邊的按鈕,選擇Install Plugin From Disk;之後在自己電腦上選擇剛才下載的插件,就可以離線進行安裝了,安裝好之後同樣需要重新啟動IDEA插件才可以生效。

除了阿里代碼規范之外,我們也可以選擇其他的代碼規范插件,比如SonarLint,其實開發中不論是用哪種插件,都是為了讓我們養成好的編程風格,因此,在編程中,我們要養成良好的編程風格,不搞特殊,這樣才能提升開發的效率。

以上就是關於代碼規范插件怎麼使用的講解,更多關於java編程方面的問題可以看下這個視頻教程:網頁鏈接,希望我的回答能幫到你。

❹ 為什麼阿里工程師代碼寫的好看看他的代碼規范就知道了


曾經與一位從阿里出來的Java工程師一起工作過一段時間,他的技術說不上非常厲害, 但是,他的代碼寫的的非常好,凡是他做的功能很少出現Bug 。我就很好奇,於是經常向他請教一些代碼設計的原則,然後他告訴了我阿里Java手冊。並且,他將這個手冊進行了修改,也成為了我司Java程序員的開發手冊。 這篇文章就讓我們看一看這個手冊中比較重要的原則。




【強制】 代碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束。

反例:_name / __name / $name / name_ / name$ / name__


【強制】 類型與中括弧緊挨相連來表示數組。

正例:定義整形數組 int[] arrayDemo; 反例:在 main 參數中,使用 String args[]來定義。


【強制】 POJO 類中布爾類型變數都不要加 is 前綴,否則部分框架解析會引起序列化錯誤。

說明:表達是與否的值採用 is_xxx 的命名方式,所以,需要在 設置從 is_xxx 到 xxx 的映射關系。

反例:定義為基本數據類型 Boolean isDeleted 的屬性,它的方法也是 isDeleted(), RPC 框架在反向解 析的時候,「誤以為」對應的屬性名稱是 deleted,導致屬性獲取不到,進而拋出異常。


【推薦】 在常量與變數的命名時,表示類型的名詞放在詞尾,以提升辨識度。



【推薦】 介面類中的方法和屬性不要加任何修飾符號(public 也不要加),保持代碼的簡潔 性,並加上有效的 Javadoc 注釋。盡量不要在介面里定義變數,如果一定要定義變數,肯定 是與介面方法相關,並且是整個應用的基礎常量。

正例:介面方法簽名 void commit();

介面基礎常量 String COMPANY = "alibaba";

反例:介面方法定義 public abstract void f();

說明:JDK8 中介面允許有默認實現,那麼這個 default 方法,是對所有實現類都有價值的默認實現。


【參考】 枚舉類名帶上 Enum 後綴,枚舉成員名稱需要全大寫,單詞間用下劃線隔開。

說明:枚舉其實就是特殊的類,域成員均為常量,且構造方法被默認強制是私有。

正例:枚舉名字為 ProcessStatusEnum 的成員名稱:SUCCESS / UNKNOWN_REASON。


【參考】 各層命名規約:

1) 獲取單個對象的方法用 get 做前綴。

2) 獲取多個對象的方法用 list 做前綴,復數形式結尾如:listObjects。 3) 獲取統計值的方法用 count 做前綴。

4) 插入的方法用 save/insert 做前綴。

5) 刪除的方法用 remove/delete 做前綴。

6) 修改的方法用 update 做前綴。

1) 數據對象:xxxDO,xxx 即為數據表名。

2) 數據傳輸對象:xxxDTO,xxx 為業務領域相關的名稱。

3) 展示對象:xxxVO,xxx 一般為網頁名稱。

4) POJO 是 DO/DTO/BO/VO 的統稱,禁止命名成 xxxPOJO。



【強制】 不允許任何魔法值(即未經預先定義的常量)直接出現在代碼中。

【強制】 避免通過一個類的對象引用訪問此類的靜態變數或靜態方法,無謂增加編譯器解析 成本,直接用類名來訪問即可。


【強制】 相同參數類型,相同業務含義,才可以使用Java的可變參數,避免使用Object。

說明:可變參數必須放置在參數列表的最後。(提倡同學們盡量不用可變參數編程)


【強制】 所有整型包裝類對象之間值的比較,全部使用equals方法比較。

說明:對於 Integer var = ? 在-128 至 127 范圍內的賦值,Integer 對象是在 IntegerCache.cache 產 生,會復用已有對象,這個區間內的 Integer 值可以直接使用==進行判斷,但是這個區間之外的所有數 據,都會在堆上產生,並不會復用已有對象,這是一個大坑,推薦使用 equals 方法進行判斷。


關於基本數據類型與包裝數據類型的使用標准如下:

說明: POJO 類屬性沒有初值是提醒使用者在需要使用時,必須自己顯式地進行賦值 ,任何 NPE 問題,或 者入庫檢查,都由使用者來保證。

正例:資料庫的查詢結果可能是 null,因為自動拆箱,用基本數據類型接收有 NPE 風險。

反例: 比如顯示成交總額漲跌情況,即正負 x%,x 為基本數據類型,調用的 RPC 服務,調用不成功時, 返回的是默認值,頁面顯示為 0%,這是不合理的,應該顯示成中劃線 。所以包裝數據類型的 null 值,能 夠表示額外的信息,如:遠程調用失敗,異常退出。



【強制】 POJO 類必須寫 toString 方法。

使用 IDE 中的工具:source> generate toString 時,如果繼承了另一個 POJO 類,注意在前面加一下 super.toString。

說明: 在方法執行拋出異常時,可以直接調用 POJO 的 toString()方法列印其屬性值,便於排查問題。


【強制】 關於hashCode和equals的處理,遵循如下規則:

說明:String 已覆寫 hashCode 和 equals 方法,所以我們可以愉快地使用 String 對象作為 key 來使用。


【強制】 線程資源必須通過線程池提供,不允許在應用中自行顯式創建線程。

說明:線程池的好處是減少在創建和銷毀線程上所消耗的時間以及系統資源的開銷,解決資源不足的問 題。 如果不使用線程池,有可能造成系統創建大量同類線程而導致消耗完內存或者「過度切換」的問題。


【強制】 線程池不允許使用Executors去創建,而是通過ThreadPoolExecutor的方式,這樣的處理方式讓寫的同學更加明確線程池的運行規則,規避資源耗盡的風險。



以上規范在設計代碼中,是比較重要的原則。如果編寫代碼的過程中,可以依照以上原則,那代碼的可讀性和可維護性將大大提升

❺ 如何評價阿里近期發布的Java編碼規范

我抽空看了幾章,感覺挺好的 諸如命名規范的話 其實很多java入門書籍就是這么規范的。甚至有一些變數的命名 比如:boolean類型的變數不要用isXX命名,否則反序列化的時候U有可能會有問題。這其中就夾雜了經驗總結出來的東西。
規范其實就是大家一起遵守的一些規則,大家都按這個規則來,其實是為了更好的團隊協作。每個公司有可能有各自的編碼風格,所以不一定要完全按照阿里的java把編碼規范來,但是文章還是寫的不錯的,基本上是通用的一些規范。

熱點內容
湖人雙核配置哪個最好 發布:2025-05-15 10:09:48 瀏覽:979
手機熱點密碼怎麼查看 發布:2025-05-15 09:54:47 瀏覽:108
生意發力雲存儲 發布:2025-05-15 09:54:45 瀏覽:616
編寫一個shell腳本添加用戶 發布:2025-05-15 09:54:43 瀏覽:505
資料庫查看錶命令 發布:2025-05-15 09:52:27 瀏覽:914
p30是不是自帶方舟編譯器 發布:2025-05-15 09:51:48 瀏覽:599
追擊世界房間密碼是多少 發布:2025-05-15 09:51:46 瀏覽:995
cjavabyte 發布:2025-05-15 09:51:36 瀏覽:463
visa存儲卡 發布:2025-05-15 09:35:07 瀏覽:619
js調用php的方法 發布:2025-05-15 09:29:13 瀏覽:496