默認
打賞 發表評論 12
想開發IM:買成品怕坑?租第3方怕貴?找開源自已擼?盡量別走彎路了... 找站長給點建議
阿里技術結晶:《阿里巴巴Java開發手冊(規約)-華山版》[附件下載]
閱讀(22587) | 評論(12 收藏5 淘帖1

【語錄】:“別人都說我們是碼農,但我們知道,自己是個藝術家。也許我們不過多在意自己的外表和穿著,但我們不羈的外表下,骨子里追求著代碼的美、質量的美。而代碼規約其實就是一個對美的定義。”


1、前言


2017年開春之際,阿里誠意獻上重磅大禮:《阿里巴巴Java開發手冊(規約)》,首次公開阿里官方Java代碼規范標準。這套Java統一規范標準將有助于提高行業編碼規范化水平,幫助行業人員提高開發質量和效率、大大降低代碼維護成本。

《阿里巴巴Java開發手冊(規約)》是阿里內部Java工程師所遵循的開發規范,涵蓋編程規約、單元測試規約、異常日志規約、MySQL規約、工程規約、安全規約等,這是近萬名阿里Java技術精英的經驗總結,并經歷了多次大規模一線實戰檢驗及完善。這是阿里回饋給Java社區的一份禮物,希望能夠幫助企業開發團隊在Java開發上更高效、容錯、有協作性,提高代碼質量,降低項目維護成本。

另外,《作者談《阿里巴巴Java開發手冊(規約)》背后的故事》一文,可以看看作者怎么說。

下載方式:手冊下載請見文末“8、最新手冊附件下載”!

2、價值意義


《阿里巴巴Java開發手冊(規約)》的愿景是碼出高效,碼出質量。它結合作者的開發經驗和架構歷程,提煉阿里巴巴集團技術團隊的集體編程經驗和軟件設計智慧,濃縮成為立體的編程規范和最佳實踐。眾所周知,現代軟件行業的高速發展對開發者的綜合素質要求越來越高,因為不僅是編程相關的知識點,其他維度的知識點也會影響軟件的最終交付質量,比如,數據庫的表結構和索引設計缺陷可能帶來軟件的架構缺陷或性能風險;單元測試的失位導致集成測試困難;沒有鑒權的漏洞代碼易被黑客攻擊等。所以,本手冊以開發者為中心視角,劃分為編程規約、異常日志、單元測試、安全規約、MySQL數據庫、工程結構、設計規約七個維度,每個條目下有相應的擴展解釋和說明,正例和反例,全面、立體、形象地幫助到開發者的成長和團隊代碼規約文化的形成。

從嚴格意義上講,《阿里巴巴Java開發手冊(規約)》超越了Java語言本身,明確作為一名合格開發者應該具備的基本素質,因此本手冊適合計算機相關行業的管理者和研發人員、高等院校的計算機專業師生、求職者等閱讀,希望成為大家如良師益友般的工作手冊、工具字典。

3、最新動態


關于華山版(v1.5.0):
此版發布于2019年06月15日,并正式更名為《Java開發手冊》,用發布者的話說:“它屬于所有參與其中的貢獻者,也以此聊表我們對全球Java開發者的感謝”。此版升級內容包括:

1)新增21條新規約。比如,switch的空指針問題、浮點數的比較、無泛型限制引起的類型混亂、加鎖與解鎖的注意事項、YYYY的日期格式問題等;
2)修改描述112處。比如,IFNULL的判斷方式、集合的toArray的數組長度、日志占位符的處理等;
3)完善若干處示例。比如,變量命名示例、衛語句示例、枚舉示例、finally的return示例等。


關于終極版(v1.3.1):
本手冊至今為止已更迭了三個版本,2017年9月25日,阿里巴巴Java開發手冊(終極版)》正式發布,這是史上內容最全、修正最為徹底的一個版本,并且增加了單元測試規約內容,這也是阿里官方對外發布的最后一個PDF版本,值得收藏。

4、主要作者


楊冠寶:
阿里技術結晶:《阿里巴巴Java開發手冊(規約)-華山版》[附件下載]_101290cf6f8942aa87360a106fef461d_th.jpg

楊冠寶:花名孤盡,取自《笑傲江湖》中風清揚的“獨孤九劍,破盡天下武功”之意,是《阿里巴巴Java開發手冊》的主要作者。在阿里巴巴集團歷任研發、架構師、技術主管等不同的角色,承擔過雙11、國際化、代碼中心等大型項目,有著豐富的一線編程經驗,目前是研發協同平臺Aone代碼中心負責人。樂于分享與總結,在阿里巴巴集團內部大型分享多達30余次,不懈地追求技術創新,勇于挑戰技術難度,在大數據、高并發、研發效能領域均有較深的造詣。

2016年3月,孤盡帶領約碼項目組編寫《阿里巴巴Java開發手冊(規約)》,碼出高效,碼出質量,推動阿里系與業界一起進步,讓代碼變得更舒服,更清澈,更好維護。

5、阿里技術資深大咖聯袂推薦


阿里高級研究員多隆:

工程師對于代碼,一定要“精益求精”,不論從性能,還是簡潔優雅,都要具備“精益求精”的工匠精神,認真打磨自己的作品。


阿里研究員畢玄:

一個優秀的工程師和一個普通工程師的區別,不是現在滿天飛的架構圖,他的功底就是體現在他寫的每一行代碼上。


阿里研究員玄難:

代碼是軟件工程里面的產品設計、系統架構設計等工作的最后承載體,代碼的質量決定了一切工作的成敗。


阿里巴巴B2B事業群CTO李純:

好的軟件產品離不開工程師高質量的代碼及相互間順暢的溝通與合作。簡單,適用的代碼規約背后所傳遞的是技術上的追求卓越、協同合作的精神,是每個技術團隊不可缺失的重要利器。


阿里研究員、HipHop作者——趙海平(花名福貝):

程序員是創造個性化作品的藝術家,但同時也是需要團隊合作的工種。個性化應盡量表現在代碼效率和算法方面,犧牲小我,成就大我。


6、《阿里巴巴Java開發手冊(規約)》目錄


  • 前言
  • 一、編程規約 .................................................................................................................................... 1
  • (一) 命名風格 ..................................................................................................................................... 1
  • (二) 常量定義 ..................................................................................................................................... 4
  • (三) 代碼格式 ..................................................................................................................................... 5
  • (四) OOP規約 ...................................................................................................................................  7
  • (五) 集合處理 ...................................................................................................................................  11
  • (六) 并發處理 ...................................................................................................................................  14
  • (七) 控制語句 ...................................................................................................................................  18
  • (八) 注釋規約 ...................................................................................................................................  21
  • (九) 其它 ........................................................................................................................................... 22
  • 二、異常日志 ....................................................................................................................................24
  • (一) 異常處理 .....................................................................................................................................24
  • (二) 日志規約 .....................................................................................................................................26
  • 三、單元測試 .....................................................................................................................................28
  • 四、安全規約 .....................................................................................................................................30
  • 五、MySQL數據庫 .............................................................................................................................31
  • (一) 建表規約 ......................................................................................................................................31
  • (二) 索引規約 ......................................................................................................................................32
  • (三) SQL語句 ......................................................................................................................................34
  • (四) ORM映射 .....................................................................................................................................35
  • 六、工程結構 ......................................................................................................................................37
  • (一) 應用分層 .......................................................................................................................................37
  • (二) 二方庫依賴 ...................................................................................................................................38
  • (三) 服務器 ..........................................................................................................................................39
  • 七、設計規約 ......................................................................................................................................41
  • 附1:版本歷史 ....................................................................................................................................43
  • 附2:專有名詞解釋 .............................................................................................................................44

7、部分內容截圖預覽


阿里技術結晶:《阿里巴巴Java開發手冊(規約)-華山版》[附件下載]_1.jpg

阿里技術結晶:《阿里巴巴Java開發手冊(規約)-華山版》[附件下載]_2.png

阿里技術結晶:《阿里巴巴Java開發手冊(規約)-華山版》[附件下載]_3.png

阿里技術結晶:《阿里巴巴Java開發手冊(規約)-華山版》[附件下載]_4.png

8、最新手冊附件下載


《阿里巴巴Java開發手冊(規約)》-終極版v1.3.1-共40頁(52im.net).pdf (1.27 MB , 下載次數: 127 , 售價: 1 金幣)
《阿里巴巴Java開發手冊(規約)》-華山版v1.5.0-共48頁(52im.net).pdf (1.61 MB , 下載次數: 42 , 售價: 1 金幣)

注:阿里巴巴技術團隊于2019年06月15日發布v1.5.0(華山版),并正式更名為《Java開發手冊》!

附錄:全站精品資源下載


[1] 精品源碼下載:
Java NIO基礎視頻教程、MINA視頻教程、Netty快速入門視頻 [有源碼]
輕量級即時通訊框架MobileIMSDK的iOS源碼(開源版)[附件下載]
開源IM工程“蘑菇街TeamTalk”2015年5月前未刪減版完整代碼 [附件下載]
微信本地數據庫破解版(含iOS、Android),僅供學習研究 [附件下載]
NIO框架入門(四):Android與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]
NIO框架入門(三):iOS與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]
NIO框架入門(二):服務端基于MINA2的UDP雙向通信Demo演示 [附件下載]
NIO框架入門(一):服務端基于Netty4的UDP雙向通信Demo演示 [附件下載]
用于IM中圖片壓縮的Android工具類源碼,效果可媲美微信 [附件下載]
高仿Android版手機QQ可拖拽未讀數小氣泡源碼 [附件下載]
一個WebSocket實時聊天室Demo:基于node.js+socket.io [附件下載]
Android聊天界面源碼:實現了聊天氣泡、表情圖標(可翻頁) [附件下載]
高仿Android版手機QQ首頁側滑菜單源碼 [附件下載]
開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]
分享java AMR音頻文件合并源碼,全網最全
微信團隊原創Android資源混淆工具:AndResGuard [有源碼]
一個基于MQTT通信協議的完整Android推送Demo [附件下載]
Android版高仿微信聊天界面源碼 [附件下載]
高仿手機QQ的Android版鎖屏聊天消息提醒功能 [附件下載]
高仿iOS版手機QQ錄音及振幅動畫完整實現 [源碼下載]

[2] 精品文檔和工具下載:
計算機網絡通訊協議關系圖(中文珍藏版)[附件下載]
史上最全即時通訊軟件簡史(精編大圖版)[附件下載]
重磅發布:《阿里巴巴Android開發手冊(規約)》[附件下載]
阿里技術結晶:《阿里巴巴Java開發手冊(規約)-終極版》[附件下載]
基于RTMP協議的流媒體技術的原理與應用(技術論文)[附件下載]
獨家發布《TCP/IP詳解 卷1:協議》CHM版 [附件下載]
良心分享:WebRTC 零基礎開發者教程(中文)[附件下載]
MQTT協議手冊(中文翻譯版)[附件下載]
經典書籍《UNIX網絡編程》最全下載(卷1+卷2、中文版+英文版)[附件下載]
音視頻開發理論入門書籍之《視頻技術手冊(第5版)》[附件下載]
國際電聯H.264視頻編碼標準官方技術手冊(中文版)[附件下載]
Apache MINA2.0 開發指南(中文版)[附件下載]
網絡通訊數據抓包和分析工具 Wireshark 使用教程(中文) [附件下載]
最新收集NAT穿越(p2p打洞)免費STUN服務器列表 [附件下載]
高性能網絡編程經典:《The C10K problem(英文)》[附件下載]
即時通訊系統的原理、技術和應用(技術論文)[附件下載]
技術論文:微信對網絡影響的技術試驗及分析[附件下載]
華為內部3G網絡資料: WCDMA系統原理培訓手冊[附件下載]
網絡測試:Android版多路ping命令工具EnterprisePing[附件下載]
Android反編譯利器APKDB:沒有美工的日子里繼續堅強的擼
一款用于P2P開發的NAT類型檢測工具 [附件下載]
兩款增強型Ping工具:持續統計、圖形化展式網絡狀況 [附件下載]

[3] 精選視頻、演講PPT下載:
YY直播在移動弱網環境下的深度優化實踐分享(視頻+PPT)[附件下載]
QQ空間移動端10億級視頻播放技術優化揭秘(視頻+PPT)[附件下載]
RTC實時互聯網2017年度大會精選演講PPT [附件下載]
微信分享開源IM網絡層組件庫Mars的技術實現(視頻+PPT)[附件下載]
微服務理念在微信海量用戶后臺架構中的實踐(視頻+PPT)[附件下載]
移動端IM開發和構建中的技術難點實踐分享(視頻+PPT)[附件下載]
網易云信的高品質即時通訊技術實踐之路(視頻+PPT)[附件下載]
騰訊音視頻實驗室:直面音視頻質量評估之痛(視頻+PPT)[附件下載]
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT[附件下載]
微信朋友圈海量技術之道PPT[附件下載]
手機淘寶消息推送系統的架構與實踐(音頻+PPT)[附件下載]
如何進行實時音視頻的質量評估與監控(視頻+PPT)[附件下載]
Go語言構建高并發消息推送系統實踐PPT(來自360公司)[附件下載]
網易IM云千萬級并發消息處理能力的架構設計與實踐PPT [附件下載]
手機QQ的海量用戶移動化實踐分享(視頻+PPT)[附件下載]
釘釘——基于IM技術的新一代企業OA平臺的技術挑戰(視頻+PPT)[附件下載]
微信技術總監談架構:微信之道——大道至簡(PPT講稿)[附件下載]
Netty的架構剖析及應用案例介紹(視頻+PPT)[附件下載]
聲網架構師談實時音視頻云的實現難點(視頻采訪)
滴滴打車架構演變及應用實踐(PPT講稿)[附件下載]
微信海量用戶背后的后臺系統存儲架構(視頻+PPT)[附件下載]
在線音視頻直播室服務端架構最佳實踐(視頻+PPT)[附件下載]
從0到1:萬人在線的實時音視頻直播技術實踐分享(視頻+PPT)[附件下載]
微信移動端應對弱網絡情況的探索和實踐PPT[附件下載]
Android版微信從300KB到30MB的技術演進(PPT講稿)[附件下載]

即時通訊網 - 即時通訊開發者社區! 來源: - 即時通訊開發者社區!

上一篇:重磅發布:《阿里巴巴Android開發手冊(規約)》[附件下載]下一篇:海量實時消息的視頻直播系統架構演進之路(視頻+PPT)[附件下載]

本帖已收錄至以下技術專輯

推薦方案
評論 12
有騰訊c++手冊沒
引用:x931609201 發表于 2018-03-09 09:41
有騰訊c++手冊沒

暫時沒有
簽名: 《IM里“附近的人”功能實現原理是什么?如何高效率地實現它?》http://www.uktmgv.tw/thread-2827-1-1.html
《代碼整潔之道》
了解一下
哈哈. 不錯
正在學習Java,感謝分享寶貴經驗!
簽名: 努力學習,天天向上!
牛逼啊
牛逼啊

。。。
簽名: 《IM里“附近的人”功能實現原理是什么?如何高效率地實現它?》http://www.uktmgv.tw/thread-2827-1-1.html
感謝分享
阿里巴巴技術團隊于2019年06月15日發布華山版-v1.5.0(已在本貼附件中提供下載),并正式更名為《Java開發手冊》!!
簽名: 《IM里“附近的人”功能實現原理是什么?如何高效率地實現它?》http://www.uktmgv.tw/thread-2827-1-1.html
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
曾氏料二肖中特