代碼規範
大括号的使用
如果是大括号内為空,則簡潔地寫成{}即可,不需要換行
如果是非空代碼塊則
左大括号前不換行,左大括号後換行
右大括号前換行,右大括号後還有else等代碼則不換行,表示終止右大括号後換行
if / for / while / switch / do等保留字與左右括号之間都必須加空格
任何運算符左右必須加一個空格(運算符包括指派運算符=、邏輯運算符&&、加減乘除符号、三目運作符等)
縮進采用4個空格,不使用Tab字元
注:如果使用Tab縮進,必須設定1個Tab為4個空格
IDEA設定Tab為4個空格時,勿勾選Use tab character;而在eclipse中,須勾選insert spaces for tabs
單行字元數限制不超過120個,超出需要換行,換行時遵循如下原則
第二行相對第一行縮進4個空格,從第三行開始,不再繼續縮進
運算符與下文一起換行
方法調用的點符号與下文一起換行
在多個參數超長,逗号後進行換行
在括号前不要換行
方法參數在定義和傳入時,多個參數逗号後邊必須加空格
正例:method("a", "b", "c"); 中實參的 "a", 後邊必須要有一個空格
代碼中的命名均不以下劃線或美元符号開始,也不以下劃線或美元符号結束
反例:_name / $Object / name_ / Object$
代碼中的命名不應使用拼音與英文混合的方式,也不應直接使用中文的方式
反例:DaZhePromotion[打折] / getPingfenByName()[評分] / int某變量= 3
正例:alibaba / taobao / youku / hangzhou等國際通用的名稱,可視同英文
類名使用UpperCamelCase風格,遵從駝峰形式
正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
領域模型的相關命名除外:DO / BO / DTO / VO等
方法名、參數名、成員變量、局部變量都統一使用lowerCamelCase風格,遵從駝峰形式
正例:localValue / getHttpMessage() / inputUserId
常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長
正例: MAX_STOCK_COUN
中括号是數組類型的一部分,數組定義如下:String[] args;
包名統一使用小寫,點分隔符之間有且僅有一個自然語義的英語單詞;包名統一使用單數形式,但是類名如果有複數含義,類名可以使用複數形式
正例:應用工具類包名為com.alibaba.open.util、類名為MessageUtils
不要完全不規範的縮寫,避免望文不知義
反例:AbstractClass“縮寫”命名成AbsClass
不要出現任何魔法值(即未經定義的常量)直接出現在代碼中
long或者Long初始指派時,必須使用大寫的L,不能是小寫的l,小寫容易跟數字1混淆,造成誤解
方法内部單行注釋,在被注釋語句上方另起一行,使用 // 注釋;方法内部多行注釋使用 /* */ 注釋,注意與代碼對齊
類、類屬性、類方法的注釋使用/**内容*/格式,不使用//xxx方式