java開發(fā)手冊

java開發(fā)手冊

ID:19646819

大?。?12.50 KB

頁數(shù):31頁

時間:2018-10-03

java開發(fā)手冊_第1頁
java開發(fā)手冊_第2頁
java開發(fā)手冊_第3頁
java開發(fā)手冊_第4頁
java開發(fā)手冊_第5頁
資源描述:

《java開發(fā)手冊》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、Java開發(fā)手冊31/31目錄前言3一、編程規(guī)約4(一)命名規(guī)約4(二)常量定義6(三)格式規(guī)約7(四)OOP規(guī)約8(五)集合處理11(六)并發(fā)處理14(七)控制語句16(八)注釋規(guī)約17(九)其它18二、異常日志19(一)異常處理19(二)日志規(guī)約21三、MySQL規(guī)約22(一)建表規(guī)約22(二)索引規(guī)約23(三)SQL規(guī)約25(四)ORM規(guī)約26四、工程規(guī)約27(一)應(yīng)用分層27(二)二方庫規(guī)約28(三)服務(wù)器規(guī)約29五、安全規(guī)約30六、附1:本規(guī)約專有名詞3031/31Java開發(fā)手冊31/31前言《Java開發(fā)手冊》是某著名集團(tuán)技術(shù)團(tuán)隊(duì)的集體經(jīng)驗(yàn)總結(jié),經(jīng)歷了多次大規(guī)模一線實(shí)戰(zhàn)的檢驗(yàn)

2、及不斷的完善,反饋給廣大開發(fā)者?,F(xiàn)代軟件行業(yè)的高速發(fā)展對于開發(fā)者的綜合素質(zhì)要求越來越高,因?yàn)椴粌H是編程知識點(diǎn),其它維度的知識點(diǎn)也會影響到軟件的最終交付質(zhì)量。比如:數(shù)據(jù)庫的表結(jié)構(gòu)和索引設(shè)計缺陷可能帶來軟件上的架構(gòu)缺陷或性能風(fēng)險;工程結(jié)構(gòu)混亂導(dǎo)致維護(hù)困難;沒有鑒權(quán)的漏洞代碼被黑客攻擊等等。所以本手冊以Java開發(fā)者為中心視角,劃分為編程規(guī)約、異常日志規(guī)約、MySQL規(guī)約、工程規(guī)約、安全規(guī)約五大塊,再根據(jù)內(nèi)容特征,細(xì)分成若干二級子目錄。根據(jù)約束力強(qiáng)弱及故障敏感性,規(guī)約依次分為強(qiáng)制、推薦、參考三大類。對于規(guī)約里的內(nèi)容,“說明”對內(nèi)容做了引申和解釋;“正例”提倡什么樣的編碼和實(shí)現(xiàn)方式;“反例”說明需

3、要提防的雷區(qū),以及真實(shí)的錯誤案例。本手冊的愿景是碼出質(zhì)量、碼出高效。代碼的字里行間流淌的是軟件生命中的血液,質(zhì)量的提升是盡可能少踩坑,杜絕踩重復(fù)的坑,切實(shí)提升質(zhì)量意識。另外,現(xiàn)代軟件架構(gòu)都需要協(xié)同開發(fā)完成,高效考慮的是降低協(xié)同成本,所謂無規(guī)矩不成方圓,無規(guī)范不能協(xié)作。眾所周知,制訂交通法規(guī)表面上是要限制行車權(quán),實(shí)際上是保障公眾的人身安全。試想如果沒有限速,沒有紅綠燈,沒有規(guī)定靠右行駛,誰還敢上路行駛。對軟件來說,適當(dāng)?shù)囊?guī)范和標(biāo)準(zhǔn)絕不是消滅代碼內(nèi)容的創(chuàng)造性、優(yōu)雅性,而是限制過度個性化,以一種普遍認(rèn)可的統(tǒng)一方式一起做事,提升協(xié)作效率。31/31Java開發(fā)手冊版本號制定團(tuán)隊(duì)更新日期備注1.1.

4、0增加前言和專有名詞說明,修正部分描述。一、編程規(guī)約(一)命名規(guī)約1.【強(qiáng)制】代碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結(jié)束。反例:_name/__name/$Object/name_/name$/Object$2.【強(qiáng)制】代碼中的命名嚴(yán)禁使用拼音與英文混合的方式,更不允許直接使用中文的方式。說明:正確的英文拼寫和語法可以讓閱讀者易于理解,避免歧義。注意,即使純拼音命名方式也要避免采用。反例:DaZhePromotion[打折]/getPingfenByName()[評分]/int某變量=3正例:alibaba/taobao/youku/hangzhou等國際通用的

5、名稱,可視同英文。3.【強(qiáng)制】類名使用UpperCamelCase風(fēng)格,必須遵從駝峰形式,但以下情形例外:(領(lǐng)域模型的相關(guān)命名)DO/BO/DTO/VO等。正例:MarcoPolo/UserDO/XmlService/TcpUdpDeal/TaPromotion反例:macroPolo/UserDo/XMLService/TCPUDPDeal/TAPromotion4.【強(qiáng)制】方法名、參數(shù)名、成員變量、局部變量都統(tǒng)一使用lowerCamelCase風(fēng)格,必須遵從駝峰形式。正例:localValue/getHttpMessage()/inputUserId5.【強(qiáng)制】常量命名全部大寫,單詞間

6、用下劃線隔開,力求語義表達(dá)完整清楚,不要嫌名字長。正例:MAX_STOCK_COUNT反例:MAX_COUNT6.【強(qiáng)制】抽象類命名使用Abstract或Base開頭;異常類命名使用Exception結(jié)尾;測試類命名以它要測試的類的名稱開始,以Test結(jié)尾。7.【強(qiáng)制】中括號是數(shù)組類型的一部分,數(shù)組定義如下:String[]args;反例:使用Stringargs[]的方式來定義。8.【強(qiáng)制】POJO類中布爾類型的變量,都不要加is,否則部分框架解析會引起序列化錯誤。反例:定義為基本數(shù)據(jù)類型BooleanisSuccess;的屬性,它的方法也是isSuccess(),RPC31/31框架在

7、反向解析的時候,“以為”對應(yīng)的屬性名稱是success,導(dǎo)致屬性獲取不到,進(jìn)而拋出異常。8.【強(qiáng)制】包名統(tǒng)一使用小寫,點(diǎn)分隔符之間有且僅有一個自然語義的英語單詞。包名統(tǒng)一使用單數(shù)形式,但是類名如果有復(fù)數(shù)含義,類名可以使用復(fù)數(shù)形式。正例:應(yīng)用工具類包名為com.alibaba.open.util、類名為MessageUtils(此規(guī)則參考spring的框架結(jié)構(gòu))9.【強(qiáng)制】杜絕完全不規(guī)范的縮寫,避免望文不知義。反例:Abs

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。