現(xiàn)在業(yè)界java代碼的規(guī)范比較混亂,阿里巴巴開發(fā)整理的阿里巴巴Java開發(fā)手冊(cè)能夠促使整體行業(yè)代碼規(guī)范水平得到提高,使Java開發(fā)更高效、更加容錯(cuò)、更加具有協(xié)作性,提升協(xié)作效率,提高代碼質(zhì)量,降低代碼維護(hù)成本。
阿里巴巴Java開發(fā)手冊(cè)最新版給各位程序猿們帶來下載。

相關(guān)介紹:
《阿里巴巴Java開發(fā)手冊(cè)》是阿里巴巴的內(nèi)部編碼規(guī)范,阿里官方的Java代碼規(guī)范標(biāo)準(zhǔn), 手冊(cè)以Java應(yīng)用開發(fā)為維度,分為編程規(guī)約、異常日志規(guī)約、MYSQL規(guī)約、工程規(guī)約、安全規(guī)約五個(gè)章節(jié),給出了強(qiáng)制、推薦、參考三個(gè)級(jí)別,每條規(guī)范都有推薦的約束力度,從命名到項(xiàng)目拆分,不僅規(guī)范了一些開發(fā)細(xì)節(jié),也提出了很多工程開發(fā)的哲學(xué),值得好好閱讀。
阿里巴巴集團(tuán)推出的《阿里巴巴Java開發(fā)手冊(cè)(正式版)》是阿里巴巴近萬名開發(fā)同學(xué)集體智慧的結(jié)晶,以開發(fā)視角為中心,詳細(xì)列舉如何開發(fā)更加高效、更加容錯(cuò)、更加有協(xié)作性,力求知其然,更知其不然,結(jié)合正反例,讓Java開發(fā)者能夠提升協(xié)作效率、提高代碼質(zhì)量。
部分提綱:
一、編程規(guī)約
1.如果使用到了設(shè)計(jì)模式,建議在類名中體現(xiàn)出具體模式
將設(shè)計(jì)模式體現(xiàn)在名字中,有利于閱讀者快速理解架構(gòu)設(shè)計(jì)思想。
2.相同參數(shù)類型,相同業(yè)務(wù)含義,才可以使用 Java 的可變參數(shù),避免使用 Object
可變參數(shù)必須放置在參數(shù)列表的最后,盡量不用可變參數(shù)編程。
3.對(duì)外暴露的接口簽名,原則上不允許修改方法簽名,避免對(duì)接口調(diào)用方產(chǎn)生影響
接口過時(shí)必須加@Deprecated 注解,并清晰地說明采用的新接口或者新服務(wù)是什么。
4.關(guān)于基本數(shù)據(jù)類型與包裝數(shù)據(jù)類型的使用標(biāo)準(zhǔn)如下
1) 所有的POJO類屬性必須使用包裝數(shù)據(jù)類型
2) RPC方法的返回值和參數(shù)必須使用包裝數(shù)據(jù)類型
3) 所有的局部變量【推薦】使用基本數(shù)據(jù)類型
POJO 類屬性沒有初值是醒使用者在需要使用時(shí),必須自己顯式地進(jìn)行賦值,任何 NPE 問題,或者入庫檢查,都由使用者來保證。數(shù)據(jù)庫的查詢結(jié)果可能是null,因?yàn)樽詣?dòng)拆箱,用基本數(shù)據(jù)類型接收有NPE風(fēng)險(xiǎn)。
5.注意 serialVersionUID 不一致會(huì)拋出序列化運(yùn)行時(shí)異常
序列化類新增屬性時(shí),請(qǐng)不要修改 serialVersionUID 字段,避免反序列失敗;如果完全不兼容升級(jí),避免反序列化混亂,那么請(qǐng)修改 serialVersionUID 值。
6.POJO 類必須寫 toString 方法
使用 IDE 的中工具:source> generate toString 時(shí),如果繼承了另一個(gè) POJO 類,注意在前面加一下 super.toString。 在方法執(zhí)行拋出異常時(shí),可以直接調(diào)用 POJO 的 toString()方法打印其屬性值,便于排查問題。
7.final 可提高程序響應(yīng)效率,聲明成 final 的情況:
1) 不需要重新賦值的變量,包括類屬性、局部變量
2) 對(duì)象參數(shù)前加final,表示不允許修改引用的指向
3) 類方法確定不允許被重寫
8.慎用 Object 的 clone 方法來拷貝對(duì)象
對(duì)象的 clone 方法默認(rèn)是淺拷貝,若想實(shí)現(xiàn)深拷貝需要重寫 clone 方法實(shí)現(xiàn)屬性對(duì)象 的拷貝。
9.類成員與方法訪問控制從嚴(yán)
1) 如果不允許外部直接通過new來創(chuàng)建對(duì)象,那么構(gòu)造方法必須是private
2) 工具類不允許有public或default構(gòu)造方法
3) 類非static成員變量并且與子類共享,必須是protected 4) 類非static成員變量并且僅在本類使用,必須是private
5) 類static成員變量如果僅在本類使用,必須是private
6) 若是static成員變量,必須考慮是否為final
7) 類成員方法只供類內(nèi)部調(diào)用,必須是private
8) 類成員方法只對(duì)繼承類公開,那么限制為protected
任何類、方法、參數(shù)、變量,嚴(yán)控訪問范圍。過寬泛的訪問范圍,不利于模塊解耦。思考:如果是一個(gè) private 的方法,想刪除就刪除,可是一個(gè) public 的 Service 方法,或者一個(gè) public 的成員變量,刪除一下,不得手心冒點(diǎn)汗嗎?變量像自己的小孩,盡量在自己的視線內(nèi),變量作用域太大,如果無限制的到處跑,那么你會(huì)擔(dān)心的。
10.ArrayList的subList結(jié)果不可強(qiáng)轉(zhuǎn)成ArrayList,否則會(huì)拋出ClassCastException 異常
subList 返回的是 ArrayList 的內(nèi)部類 SubList,并不是 ArrayList ,而是 ArrayList 的一個(gè)視圖,對(duì)于SubList子列表的所有操作最終會(huì)反映到原列表上。
新版改動(dòng):
1、增加手冊(cè)前言;
2、增加版本歷史;
3、增加專有名詞解釋。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版
















olib開源圖書平臺(tái)2.2.0 最新版
貓閱讀ReadCat1.0.0 最新版
幽靈閱讀器PC端1.4.1 最新版
喜馬拉雅UWP版1.1.102.0 微軟商店版
PDF簡單閱讀器1.0 綠色單文件
福昕PDF編輯器去水印版10.0.218.36057手機(jī)版
EPUB File Reader漢化版(EPUB電子閱讀器)1.0 中文破解版
起點(diǎn)信息爬取工具1.0 中文免費(fèi)版
CAJ論文閱讀器清爽版1.2.1.4 免費(fèi)版
數(shù)蟻DRM閱讀器0.2.1官方版
Balabolka(語音閱讀器)2.15.0.752免費(fèi)版
CAJ全文瀏覽器7.2 官方最新正版
irreader(RSS閱讀器)1.4.0 正式版
Bullzip PDF Studio1.1.0.166 最新版
語馨復(fù)讀機(jī)軟件1.0 電腦版
胡子有聲書軟件1.0 官方版
小小小說下載閱讀器2.1.0 最新免費(fèi)版
風(fēng)度小說閱讀器1.0.1綠色版
ePub Maker1.8 免費(fèi)版
深藍(lán)語音朗讀小說閱讀器軟件3.0 免費(fèi)版
Kiwix中文維基0.9 官方pc版
福昕PDF編輯器個(gè)人版11.1.221.51141官方最新版
金山PDF閱讀器11.6.0.8798官方最新版
極速PDF閱讀器3.0.0.2019 官方版
米看小說2.1619 官方版
四葉草PDF閱讀器1.3.3.0 官網(wǎng)免費(fèi)版
悅書PDF閱讀器3.0.8.10 官方最新版
酷閱小說閱讀器2.1 免費(fèi)版
吾愛小說閱讀器pc版綠色版





有道云筆記PDF閱讀專版6.10.1官方免費(fèi)版
中國電子地圖2008 注冊(cè)機(jī)
天方閱讀器Book1.0 綠色版
Acrobat Reader DC 2015破解版2015.007.200
小蝌蚪閱讀器(Tadpole Reader)2.2 綠色免費(fèi)
winmail.dat閱讀器下載1.2.15 (附mac版 注冊(cè)