其實對於初學者,最忌諱的一個事就是在學習過程中,認爲自己是新手,代碼可以隨便寫!但是事實上並不是如此!因爲一個人的編碼規範是從開始學的時候就必須要練習和養成習慣的!從編碼過程中的每一件小事做起!從我們初學的時候的變量
、方法名
、類名
等做起!不要看不起這一段代碼!其實大牛與小白寫代碼,除了思維上的差距外,其編碼風格也是重中之重!可能兩個人寫相同的一段邏輯!小白寫的,別人可能要花上10分鐘去讀取,而大牛寫的代碼可能只需要一分鐘!其中差距就這麼大!
爲什麼我們一定要注重編碼規範呢?
俗話說:無規矩不成方圓,無規範難以協同!日後畢業你肯定要在企業中擔任一個程序員!每一個項目組都是由多個java開發工程師組成!如果你寫的代碼,亂七八糟的,邏輯不清!只是把功能實現了!對於同事來說太過痛苦!對於你來說,更不宜與代碼的維護!
可以這樣說,編碼規範是每一位開發工程師必知必會的技能!
規範
命名風格
-
代碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束!
-
代碼中的命名嚴禁使用拼音與英文混合的方式,跟不允許直接使用中文的方式!正確額英文寫法讓閱讀者能夠更容易理解!
-
類名使用首字母大寫的駝峯命名法 例如:
UpperCamelCase
但是有例外:比如: DO/BO/DTO/VO/AO/PO/UID等不在此列!淚如UserVO
-
方法名、參數名、成員變量、局部變量都統一使用首字母小寫的駝峯命名法!列如:
lowerCamelCase
風格,必須遵循駝峯形式! -
常量命名全大寫!單詞的分割使用下劃線隔開,力求能夠完整的表達意思!不要嫌棄名字長!
-
抽象類使用
Abstract
或者Base
開頭;異常類命名使用Exception
結尾;測試類命名以他的測試類名
開始Test
結尾! -
類型與中括號緊挨相連,標識數組!例:
int[] arrayDemo
-
在POJO類中,布爾的變量都不要加
is
前綴,否則部分框架解析會引起序列化錯誤! -
包名統一使用小寫
-
避免在父子類的成員變量間、或者不同代碼塊的局部變量之間採用完全命名相同的名稱,降低可讀性!
-
命名要達到望文知意
-
對於Service和DAO類,內部的實現類一定以
接口類名當做前綴
以Impl
當做後綴 -
枚舉類帶上Enum後綴,枚舉成員名需要全大寫,單詞間隔使用下劃線隔開!
-
Service與DAO層的方法命名規範
- 獲取單個對象使用get作爲前綴
- 獲取多個對象適應list作爲前綴,複數形式結尾
- 獲取統計值使用count前綴
- 插入方法使用 save/insert作爲前綴
- 刪除方法使用remove/delete作爲前綴
- 修改方法使用update作爲前綴
-
領域模型命名規約
- 數據對象
XXXDO
,XXX即爲數據表名 - 數據傳輸對象
XXXDTO
,XXX即爲業務領域相關的名稱 - 展示對象
XXXVO
XXX即爲一般的網頁名稱 - POJO是 DO/DTO/BO/VO的全稱,禁止命名爲XXXPOJO
- 數據對象
-
開發中不允許任何的魔法值(即未經過預先定義,直接出現在代碼中)
-
在long或者Long賦值時,數字後使用大寫L作爲後綴,禁止使用小寫的l,避免與1混淆!
代碼格式
- 如果大括號內爲空,則簡潔的寫成{}即可,無需換行和空格!若不爲空:
- 左大括號前不換行
- 左大括號後換行
- 右大括號前換行
- 右大括號後還有else等代碼不換行
- 表示終止額右大括號必須換行!
- 左小括號和字符之間不出現空格;同樣,右小括號和字符之間也不出現空格;而左大括號前需要空格。
- if/for/while/switch/do等保留字與括號之間必須加空格。
- 任何二目、三目運算符的左右兩邊都需要加一個空格
- 採用四個空格的縮進,即使使用tab也必須設置爲4個空格!
- 註釋的雙斜線與註釋內容之間有且只有一個空格
- 在進行強制類型轉換時,右括號與強制轉換值之間不需要任何空格隔開!
- 單行字符嚴禁超過120個以上,超出換行!遵循下方規範:
- 第二行與第一行縮進4個字符,從第三行開始不再縮進
- 運算符與下文一起換行
- 方法調用與下文一起換行
- 方法調用中的多個參數需要換行時,在逗號後進行
- 在括號前不要進行換行
- 方法參數在定義和傳入時多個參數逗號後必須跟上空格!
- 單個方法的代碼行數不要超出80行!超出拆方法!
歡迎關注我的公衆號!一起吹牛逼啊!關注公衆號,回覆架構師,擁有各類視頻資料提供參閱!