小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

優(yōu)秀Java程序員的編程風(fēng)格

 蹇勝雄 2017-05-22

今天突發(fā)奇想,對(duì)編碼習(xí)慣和編程風(fēng)格很感興趣,于是乎,找了一下關(guān)于編程風(fēng)格(Java篇)的資料,希望對(duì)愛好編碼或者開始學(xué)習(xí)編碼的同學(xué)有幫助!

來自《The Elements of Java Style》-《Java編程風(fēng)格》一書,值得一讀的書籍,會(huì)讓你在細(xì)節(jié)上節(jié)省很多時(shí)間,合作之間更加愉快!

好處不多說了,但是有幾個(gè)原則如下

1.保持原有風(fēng)格

2.堅(jiān)持最小驚奇原則

3.第一次就做對(duì)

4.記錄所有非規(guī)范行為

格式規(guī)范:

1.縮進(jìn)嵌套的代碼:在每個(gè)代碼塊和嵌套中加入縮進(jìn),縮進(jìn)代碼,加強(qiáng)可讀性。這些地方包括【類定義,內(nèi)部類定義,方法定義,靜態(tài)塊,for循環(huán)語句,if-else語句,try、catch和finally塊,匿名內(nèi)部類,while語句,do-while語句】

2.斷開很長的句子:第一,如果包含了逗號(hào),那么在每一個(gè)逗號(hào)后面都另起一行,把逗號(hào)后面的每一個(gè)表達(dá)式都和逗號(hào)前面的表達(dá)式的第一個(gè)字母對(duì)齊。第二,應(yīng)該在優(yōu)先級(jí)最低的運(yùn)算符之前斷行。

3.使用空白:關(guān)鍵字和左括號(hào)之間,右括號(hào)和緊隨其后的關(guān)鍵字,除了”.”之外的運(yùn)算符與其前后的表達(dá)式之間用空格隔開。每個(gè)邏輯上獨(dú)立的方法和代碼段之間,定義類或者接口的成員之間,每個(gè)類和接口之間應(yīng)該加入空白行。

4.不要直接使用Tab控制符:不同環(huán)境對(duì)Tab控制符的解釋也是不同的。

命名約定:

1.名稱應(yīng)該具有實(shí)際意義

2.使用人們熟悉的名稱

3.謹(jǐn)慎使用過長的名字,可以使用簡明通用的縮寫

4.盡量保留元音字母

5.縮寫詞的第一個(gè)字母大寫

6.不要使用大小寫來區(qū)分的名字

包命名:

1.用你所在組織的域名的倒序小寫形式作為包的根限定詞

2.使用單獨(dú)的小寫詞作為每個(gè)包的根名

3.僅當(dāng)新舊版本二進(jìn)制兼容的時(shí)候,其包可以使用相同的名字,否則,請(qǐng)使用新名字

類型命名:

1.類和接口名中的每個(gè)單詞的第一個(gè)字母大寫

類命名:

1.用名詞命名類

2.具有成組相關(guān)屬性,靜態(tài)服務(wù)或者常量的類名字使用復(fù)數(shù)形式

接口命名:

1.用名詞或者形容詞命名接口

方法命名:

1.方法名中的第一個(gè)單詞小寫,其后每個(gè)單詞的第一個(gè)字母大寫

2.用動(dòng)詞命名方法

3.遵循JavaBean中命名屬性訪問函數(shù)方法:set,get,is

變量命名:

1.變量命中的第一個(gè)單詞小寫,其后的每個(gè)單詞的第一個(gè)字母大寫

2.用名詞命名變量

3.集合引用名要用復(fù)數(shù)形式

4.為不重要的臨時(shí)變量簡歷并使用一套標(biāo)準(zhǔn)名字

字段命名:

1.使用this字段變量可以區(qū)分開局部變量

參數(shù)命名:

1.構(gòu)造函數(shù)或者”set”方法給字段分配參數(shù)賦值,參數(shù)名應(yīng)該和字段名相同

常量命名:

1.常量的每個(gè)單詞均大寫,單詞之間使用下劃線連接

文檔約定:

1.為使用和維護(hù)你的代碼的人編寫文檔

2.注釋和代碼要同步

3.使用積極的語氣,省略無用的詞語

注釋類型:

1.用文檔注釋來描述編程接口

2.用標(biāo)準(zhǔn)注釋格式隱藏代碼而不必刪除它們

3.用單行注釋解釋實(shí)現(xiàn)細(xì)節(jié)

文檔注釋:

1.在編寫代碼前描述編程接口

2.為公用,受保護(hù),包,私有成員建立文檔

3.為每個(gè)包編寫總結(jié)和概述

4.為包的每個(gè)應(yīng)用程序或組編寫概述

注釋風(fēng)格:

1.對(duì)所有文檔注釋使用統(tǒng)一的格式和組織結(jié)構(gòu)

2.關(guān)鍵字,標(biāo)識(shí)符和常量應(yīng)放到<code>…</code>標(biāo)簽中

3.將代碼放入<pre>…</pre>標(biāo)簽中

4.在標(biāo)識(shí)符第一次出現(xiàn)的時(shí)候用{@link}標(biāo)簽

5.為Javadoc標(biāo)簽簡歷并使用一套固定的順序

6.使用第三人稱敘述的形式

7.編寫?yīng)毩⒌母攀?/p>

8.省略概述中動(dòng)作和服務(wù)的主語

9.省略事物概述中的對(duì)象和動(dòng)詞

10.使用this而不是the來指代當(dāng)前類中的實(shí)例

11.方法名或者構(gòu)造函數(shù)名不需圓括號(hào),除非你想突出一個(gè)特殊的簽名

注釋內(nèi)容:

1.每個(gè)類、接口、字段和方法都編寫概述

2.完整描述每個(gè)方法的簽名

3.包含示例

4.為前置、后置、不變條件編寫文檔

5.為已知的缺陷和不足編寫文檔

6.為同步語法編寫文檔

內(nèi)部注釋:

1.僅添加有助于理解你的代碼的內(nèi)部注釋

2.描寫代碼為什么這樣做,而不是在做什么

3.避免使用行尾注釋

4.用行尾注釋解釋局部變量聲明

5.建立并使用一套關(guān)鍵詞來標(biāo)識(shí)尚未解決的問題

6.在嵌套程度高的控制結(jié)構(gòu)中標(biāo)記出嵌套結(jié)束位置

7.如果兩個(gè)case標(biāo)記之間沒有break語句,就在中間加入“fall-through”注釋

8.標(biāo)記空語句

編程約定:

1.將表示基礎(chǔ)數(shù)據(jù)類型的類聲明為final類型

2.通過本地類型和其他具體類型建立具體類型

3.定義小的類和小的方法

4.定義子類,以便任何使用超類的地方都可以使用子類

5.使所有字段私有

6.使用多態(tài)來替代instanceof

類型安全:

1.以java.lang.Object包裝通用類,提供靜態(tài)類型檢查

2.以類的形式封裝枚舉類型

3.盡量使用泛型

語句和表達(dá)式:

1.用等價(jià)的方法替換重復(fù)的、復(fù)雜的表達(dá)式

2.使用塊語句代替控制流結(jié)構(gòu)的表達(dá)式

3.使用括號(hào)明確操作順序

4.在switch語句中的最后一個(gè)case體使用break語句

5.使用equals(),而不是==來檢測(cè)對(duì)象的對(duì)等關(guān)系

構(gòu)造:

1.構(gòu)造狀態(tài)有效的對(duì)象

2.不要從構(gòu)造函數(shù)中調(diào)用非final方法

3.用嵌套的構(gòu)造函數(shù)消除冗余代碼

異常處理:

1.使用不受檢查、運(yùn)行時(shí)的異常來報(bào)告可能在程序邏輯中出錯(cuò)的嚴(yán)重未查明錯(cuò)誤

2.使用檢查異常來報(bào)告可能發(fā)生,而在正常的程序運(yùn)行時(shí)極少發(fā)生的錯(cuò)誤

3.用返回代碼報(bào)告可預(yù)知的狀態(tài)改變

4.僅轉(zhuǎn)化異常來添加信息

5.不要私自處置運(yùn)行時(shí)或者錯(cuò)誤異常

6.用finally語句塊釋放資源

斷言:

1.按照約定編程

2.用無用代碼消除機(jī)制實(shí)現(xiàn)斷言

3.用斷言捕捉代碼中的邏輯錯(cuò)誤

4.用斷言檢測(cè)方法的前置條件和后置條件

并發(fā):

1.僅在適當(dāng)?shù)牡胤绞褂镁€程

同步:

1.避免同步

2.用同步的包裝器,提供同步接口

3.如果方法包含幾個(gè)不需要同步的重要操作,那么不要同步整個(gè)方法

4.讀寫實(shí)例變量的時(shí)候避免不必要的同步

5.使用notify()而不是notifyAll()

6.為同步初始化使用雙重檢查模式

效率:

1.使用懶惰初始化

2.避免創(chuàng)建不必要的對(duì)象

3.重新初始化并重新使用對(duì)象,盡量不要新建對(duì)象

4.把優(yōu)化工作留在日后

打包約定:

1.將經(jīng)常使用、更改、同時(shí)發(fā)布或者互相依存的類型,放在同一個(gè)包里

2.共同封閉原則

3.重用/發(fā)布等價(jià)原則

4.無環(huán)依賴原則

5.將不穩(wěn)定的類和接口隔離在單獨(dú)的包中

6.易于修改的包不要依賴于難以修改的包

7.最大化抽象最大化穩(wěn)定性

8.將高層設(shè)計(jì)和架構(gòu)作為穩(wěn)定的抽象,組織為穩(wěn)定的包

以上僅是一些規(guī)則簡單的羅列,推薦閱讀此書。

來源:yang_best的專欄

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多