碼出高效,碼出質量,是每個程式設計師都在孜孜不倦追求的目標,尤其現在都是在協同開發,公約的建立更是至關重要。阿里巴巴在2017年雲棲大會上曾經發布了Java開發公約。結合我之前java開發的情況,我覺得以下幾點尤其重要:
1.在開發軟體上面安裝插件,這樣哪裡開發得不規範,就可以一目了然了。
2.整個開發過程中,變量的命名都要使用英文,便於理解,嚴重全拼或者純中文的形式。
3.類名使用 UpperCamelCase 風格,方法名、變量名使用lowerCamelCase 風格。這兩個還是有明顯差別的,主要區別是首字母是否大寫。在我剛開始開發java的時候,我就光記住了駝峰的形式,完全沒有注意是否要進行首字母大小寫的區分。
4.常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長。這個也是我之前沒有注意的地方。
5.抽象類命名使用 Abstract 或 Base 開頭;異常類命名使用 Exception 結尾;測試類 命名以它要測試的類的名稱開始,以 Test 結尾。
6.類型與中括號緊挨相連來表示數組。正例:定義整形數組 int[] arrayDemo;
7.POJO 類中布爾類型的變量,都不要加 is 前綴,否則部分框架解析會引起序列化錯誤。反例:定義為基本數據類型 Boolean isDeleted 的屬性,它的方法也是 isDeleted(),RPC 阿里巴巴 Java 開發手冊 2/38 框架在反向解析的時候,「誤以為」對應的屬性名稱是 deleted,導致屬性獲取不到,進而拋出異常。
8.包名統一使用小寫,點分隔符之間有且僅有一個自然語義的英語單詞。包名統一使用 單數形式,但是類名如果有複數含義,類名可以使用複數形式。正例:應用工具類包名為 com.alibaba.ai.util、類名為 MessageUtils(此規則參考 spring 的框架結構)
9.杜絕完全不規範的縮寫,避免望文不知義。
整個開發公約還是要時常拿出來讀一讀看一看。做一個遵紀守約的好程式設計師。