阿里巴巴Java开发手册——速读记录
本隨筆基于阿里巴巴Java開(kāi)發(fā)手冊(cè)V1.2,陸陸續(xù)續(xù)記錄一些現(xiàn)階段能理解的,有啟發(fā)的內(nèi)容,并將持續(xù)更新
最佳實(shí)踐——插件使用已經(jīng)發(fā)布為隨筆!http://www.cnblogs.com/jiangbei/p/7668654.html
一、編程規(guī)范
1.命名規(guī)范
(1)代碼命名嚴(yán)禁下劃線(_)或美元符號(hào)($)開(kāi)頭或結(jié)束
(2)命名嚴(yán)禁拼音與英文混用的方式
(3)類名采用 UpperCamelCase 命名方式,其他(變量,方法,參數(shù)等)采用 lowerCamelCase 方式
(4)常量全部使用大寫,使用下劃線(_)連接
(5)數(shù)組命名方式嚴(yán)禁使用 String args[] 的形式,請(qǐng)務(wù)必使用String[] args 的形式([]是數(shù)組的一部分)
(6)POJO中的boolean類型變量都不要加 is(反例:isRich)以免引起解析異常。
(7)包名統(tǒng)一小寫,使用小數(shù)點(diǎn)(.)進(jìn)行分隔
(8)類名使用合適的后綴可以大大提高可讀性,例如測(cè)試類 Test 結(jié)尾,異常類 Exception 結(jié)尾
? 2.常量定義
(1)嚴(yán)禁出現(xiàn)任何魔法值
(2)long類型的變量,請(qǐng)使用大寫L作為標(biāo)識(shí)(long time = 2L)
(3)變量盡量分類維護(hù),盡量不要全定義在一個(gè)類中進(jìn)行維護(hù)
3.代碼格式
(1)大括號(hào)換行(竟然還有左大括號(hào)換行的?/笑哭),不再文字贅述,千言萬(wàn)語(yǔ)不如一張圖
方法參數(shù)后的括號(hào)與大括號(hào)之間建議添加一個(gè)空格
?(2)縮進(jìn)采用4個(gè)空格,嚴(yán)禁使用Tab縮進(jìn)
縮進(jìn)采用 4 個(gè)空格,禁止使用 tab 字符。 說(shuō)明:如果使用 tab 縮進(jìn),必須設(shè)置 1 個(gè) tab 為 4 個(gè)空格。IDEA 設(shè)置 tab 為 4 個(gè)空格時(shí), 請(qǐng)勿勾選 Use tab character;而在 eclipse 中,必須勾選 insert spaces for tabs。
??(3)任何二目、三目運(yùn)算符的左右兩邊都需要加一個(gè)空格。
(4)if/for/while/switch/do 等保留字與括號(hào)之間都必須加空格。
(5)換行規(guī)范:
1) 第二行相對(duì)第一行縮進(jìn) 4 個(gè)空格,從第三行開(kāi)始,不再繼續(xù)縮進(jìn),參考示例。
2) 運(yùn)算符與下文一起換行。
3) 方法調(diào)用的點(diǎn)符號(hào)與下文一起換行。
4) 在多個(gè)參數(shù)超長(zhǎng),在逗號(hào)后換行。
(6)方法參數(shù)在定義和傳入時(shí),多個(gè)參數(shù)逗號(hào)后邊必須加空格。
4.OOP規(guī)范
(1)靜態(tài)方法與靜態(tài)常量請(qǐng)使用 類名. 進(jìn)行調(diào)用!
(2)所有的覆寫方法,必須加@Override 注解。
(3)嚴(yán)禁使用過(guò)時(shí)的類或方法
(4)Object 的 equals 方法容易拋空指針異常,應(yīng)使用常量或確定有值的對(duì)象來(lái)調(diào)用 equals。("abc".equals(str))
(5)所有的 POJO 類屬性必須使用包裝數(shù)據(jù)類型;所有的局部變量使用基本數(shù)據(jù)類型。
(6)構(gòu)造方法里面禁止加入任何業(yè)務(wù)邏輯,如果有初始化邏輯,請(qǐng)放在 init 方法中。
(7)POJO 類必須寫 toString 方法。使用 IDE 的中工具:source> generate toString 時(shí),如果繼承了另一個(gè) POJO 類,注意在前面加一下 super.toString。
(8)類內(nèi)方法定義順序依次是:公有方法或保護(hù)方法 > 私有方法 > getter/setter 方法。
(9)循環(huán)體內(nèi),字符串的連接方式,使用 StringBuilder 的 append 方法進(jìn)行擴(kuò)展。
5.集合處理
(1)只要重寫 equals,就必須重寫 hashCode。(參見(jiàn)java基礎(chǔ)隨筆)
(2)HashMap是允許null key和 null value的,并且它是線程不安全的
6.并發(fā)處理
待更新
7.控制語(yǔ)句
(1)每個(gè)switch都必須包含一個(gè) default 語(yǔ)句并且 放在最后,即使它什么代碼也沒(méi)有。
(2)if/else/for/while/do 語(yǔ)句中必須使用大括號(hào)。即使只有一行代碼
(3)不要在條件判斷中執(zhí)行其它復(fù)雜的語(yǔ)句,將復(fù) 雜邏輯判斷的結(jié)果賦值給一個(gè)有意義的布爾變量名,以提高可讀性。
8.注釋規(guī)約
(1)類、類屬性、類方法的注釋必須使用 Javadoc 規(guī)范,使用/**內(nèi)容*/格式(可以自定義注釋模板,參見(jiàn)IDE配置隨筆)
(2)所有的類都必須添加創(chuàng)建者和創(chuàng)建日期。
(3)方法內(nèi)部單行注釋,在被注釋語(yǔ)句上方另起一行(并且//后空一格),使用//注釋。方法內(nèi)部多行注釋 使用/* */注釋,注意與代碼對(duì)齊。
(4)好的命名、代碼結(jié)構(gòu)是自解釋的,注釋力求精簡(jiǎn)準(zhǔn)確、表達(dá)到位。避免出現(xiàn)注釋的 一個(gè)極端:過(guò)多過(guò)濫的注釋,代碼的邏輯一旦修改,修改注釋是相當(dāng)大的負(fù)擔(dān)。
轉(zhuǎn)載于:https://www.cnblogs.com/jiangbei/p/7364723.html
總結(jié)
以上是生活随笔為你收集整理的阿里巴巴Java开发手册——速读记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Coursera公开课-Machine_
- 下一篇: java美元兑换,(Java实现) 美元