![程序編碼規(guī)范_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/e1dbe06a-e3c9-4d24-b81b-cff66807e4e7/e1dbe06a-e3c9-4d24-b81b-cff66807e4e71.gif)
![程序編碼規(guī)范_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/e1dbe06a-e3c9-4d24-b81b-cff66807e4e7/e1dbe06a-e3c9-4d24-b81b-cff66807e4e72.gif)
![程序編碼規(guī)范_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/e1dbe06a-e3c9-4d24-b81b-cff66807e4e7/e1dbe06a-e3c9-4d24-b81b-cff66807e4e73.gif)
![程序編碼規(guī)范_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/e1dbe06a-e3c9-4d24-b81b-cff66807e4e7/e1dbe06a-e3c9-4d24-b81b-cff66807e4e74.gif)
![程序編碼規(guī)范_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/9/e1dbe06a-e3c9-4d24-b81b-cff66807e4e7/e1dbe06a-e3c9-4d24-b81b-cff66807e4e75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、百度文庫程序編碼規(guī)范編寫:XXX審核:XXXXXXX年XX月修改、引言3、命名規(guī)范3包(Package)的命名3Class的命名4Class變量的命名4接口的命名5參數(shù)的命名5數(shù)組的命名5方法的參數(shù)6三注釋規(guī)范6塊注釋(BlockComments).、6單行注釋(Single-LineComments)7尾端注釋(TrailingComments)7行末注釋(End-Of-LineComments)7版權(quán)信息8Package/Imports8Class8ClassFields9存取方法9構(gòu)造函數(shù)10main方法10換行(WrappingLines)10八、日志規(guī)范11九、設(shè)計及技巧建議12表現(xiàn)
2、層12業(yè)務(wù)層12持久層1214一、引言編碼規(guī)范對于程序員而言尤為重要,有以下幾個原因:1、 一個軟件的生命周期中,80%的花費在于維護(hù)。2、 幾乎沒有任何一個軟件,在其整個生命周期中,均由最初的開發(fā)人員來維護(hù)。3、 編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼。/4、如果你將源碼作為產(chǎn)品發(fā)布,就需要確任它是否被很好的打包并且清晰無誤,一如已構(gòu)建的其它任何產(chǎn)品為了執(zhí)行規(guī)范,每個軟件開發(fā)人員必須一致遵守編碼規(guī)范中的代碼規(guī)范,代碼規(guī)范提高軟件代碼的可讀性,使得開發(fā)人員快速和徹底的理解新代碼.。好的代碼風(fēng)格不僅會提高可讀性,而且會使代碼更健壯,更為重要的是在修改時不容易出錯?,F(xiàn)代
3、軟件開發(fā)中,維護(hù)工作會占用80%的時間,而且開發(fā)者和維護(hù)者通常不是同一個程序員。這意味著程序員經(jīng)常要閱讀和修改別人開發(fā)的程序,別人也同樣可能需要閱讀和修改你開發(fā)的程序,所以制定一套完善的編碼規(guī)范非常重要。定義本規(guī)范的目的是使項目中所有的文檔及程序編碼在寫作風(fēng)格上具有一致性,增加可讀性,減少項目組中因為換人帶來的損失,從而使程序具有良好的可讀性。二、命名規(guī)范包(Package)的命名包(Packages):一個唯一包名的前綴應(yīng)全部為小寫的ASCII字母,并且是一個頂級域名,通常為com、edu、gov、mil、net、org等。包名的后續(xù)部分可根據(jù)各個不同機(jī)構(gòu)內(nèi)部的命名規(guī)范來定義,這類命名規(guī)范可
4、以由特定的目錄名來區(qū)分部門(department)、項目(project)、機(jī)器(machine)和注冊名(loginnames)。核心程序部分:系統(tǒng)管理部分:應(yīng)用維護(hù)部分:項目計劃管理部分:采購管理部分:財務(wù)管理部分:.finance監(jiān)測評價部分:如果在開發(fā)過程中還有其他情況沒有涵蓋到,可以按照上述規(guī)則進(jìn)行擴(kuò)展。Class的命名'Class的名字必須由一個大寫字母開頭其他字母為小寫的單詞構(gòu)成。類名要用完整的單詞,避免使用縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)。ActionForm類的命名:以有意義的拼音縮寫開頭后加ActionForm/Action類的命名:以有意義的
5、拼音縮寫開頭后加ActionClass變量的命名變量名應(yīng)選用易于記憶、簡短富于描述并能夠指出其用途的單詞。單詞不應(yīng)以下劃線或美元符號開頭,除一次性臨時變量外盡量避免單個字符的變量名。除了變量名外,所有實例,包括類、類常量均采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫。charc(c、d、e常用于表示字符型)intI(i、j、k、m、n常用于表示整型)floatmyWidth;實例變量(InstanceVariables)大小寫規(guī)則和變量名相似,但前面需要一個下劃線int_employeeId;String_name;Customer.customer;常量(Constan
6、ts)類常量和ANSI常量的聲明,應(yīng)該全部大寫,單詞間用下劃線隔開。(盡量避免ANSI常量,容易引起錯誤)staticfinalintMIN_WIDTH=4;/staticfinalintMAX_WIDTH=999;/staticfinalintGET_THE_CPU=1;/除了以下幾個特例之外,命名時應(yīng)始終采用完整的英文描述符。此外,一般應(yīng)采用小寫字母,但類名、接口名以及任何非初始單詞的第一個字母要大寫。1、盡量使用完整的英文描述符/2、采用適用于相關(guān)領(lǐng)域的術(shù)語3、采用大小寫混合使名字可讀4、盡量少用縮寫,但如果用了,要明智地使用,且在整個工程中統(tǒng)5、避免使用長的名字(小于15個字母是個好主
7、意)6、避免使用類似的名字,或者僅僅是大小寫不同的名字7、避免使用下劃線(除表態(tài)常量等)接口的命名書寫規(guī)則與類名相似,如interfaceRasterDelegate;interfaceStoring;方法(Methods):方法名是一個動詞,采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫,例如:run();runFast();getBackground();參數(shù)的命名參數(shù)的命名必須與變量的命名規(guī)范一致。數(shù)組的命名數(shù)組應(yīng)該用下面的方式來命名:byte口buffer;而不是:bytebuffer口;方法的參數(shù)使用有意義的參數(shù)來命名,名字盡量和將要賦值的字段一致。例如:SetC
8、ounter(intsize)=size;三注釋規(guī)范一般情況下程序有兩類注釋:實現(xiàn)注釋(implementationcomments)和文檔注釋(documentcomments)。實現(xiàn)注釋是那些在C+中見過的,使用/*.*/和.*/界定。文檔注釋可以通過javadoc工具轉(zhuǎn)換成HTMLt件。實現(xiàn)注釋用來注釋代碼或者實現(xiàn)細(xì)節(jié)。文檔注釋從實現(xiàn)自由(implementation-free)的角度描述代碼的規(guī)范。它可以使手頭沒有源碼的開發(fā)人員讀懂程序。注釋是用來對代碼進(jìn)行的,并提供代碼自身沒有提供的附加信息。注釋要包含有助于閱讀和理解程序的相關(guān)信息。例如,相應(yīng)的包如何被建立或位于哪個目錄下之類的信息
9、不應(yīng)包括在注釋中。程序可以有4種實現(xiàn)注釋的風(fēng)格:塊(block)、單行(single-line)、尾端(trailing)和行末(end-of-line)。塊注釋(BlockComments)塊注釋通常是對文件、方法、數(shù)據(jù)結(jié)構(gòu)和算法等提供描述,應(yīng)置于每個文件的開始處或每個方法之前。塊注釋也可以用于其他地方,如方法的內(nèi)部。,在功能和方法內(nèi)部的塊注釋應(yīng)該和它所描述的代碼具有一樣的縮進(jìn)格式。塊注釋之首應(yīng)該有一個空行,用于把塊注釋和代碼分割開來,比如:/*在這里寫塊注釋*/單行注釋(Single-LineComments)單行注釋之前也應(yīng)該有一個空行。若為可以顯示在一行內(nèi)短注釋,要與其后的代碼具有一樣
10、的縮進(jìn)層級。如果一個注釋不能在一行內(nèi)寫完,就該采用塊注釋(參見"塊注釋")的方式。以下是一個/Java代碼中單行注釋的例子:if(condition)/*判斷條件*/、.尾端注釋(TrailingComments)極短的注釋可以與它們所要描述的代碼位于同一行,但是應(yīng)該有足夠的空白將代碼和注釋分開。若有多個短注釋出現(xiàn)在大段代碼中,它們應(yīng)該具有相同的縮進(jìn)。以下是一個Java代碼中尾端注釋的例子:if(a=2)returnTRUE;/*specialcase*/elsereturnisPrime(a);/*worksonlyforodda*/行末注釋(End-Of-LineCom
11、ments)利用注釋界定符”else、/returnfalse;ava)文件都必須遵守如下的樣式規(guī)則版權(quán)信息版權(quán)信息必須在/java文件的開頭,比如:*保留所有權(quán)利。/* 版權(quán)所有? *年-*年X X X X X科技有限公司,*/其他不需要出現(xiàn)在 javadoc的信息也可以包含在這里。Package/Importspackage行要在import行之前,import中標(biāo)準(zhǔn)的包名要在本地的包名之前,而且按照字母順序排列。如果import行中包含了同一個包中的不同子目錄,則應(yīng)該用*來處理。package ;import.*;import這里.*使用來代替InputstreamandOutputst
12、ream的。Class類的注釋一般是用來解釋類功能的,需要按照如下格式編寫:/*< p>類名:Jpc</p>< p>描述:Jpc服務(wù)的用戶接口類,調(diào)用了JpcService類的實現(xiàn)。</p>< p>版權(quán)聲明:Copyright(c)2003-2004,< ahref="">xxxx科技有限公司</a></p>* author<ahref="作者郵箱">作者姓名</a>* version1.5.6* /ClassFields類的成員變量必
13、須通過注釋說明其含義,不管成員變量是public、protected還是private的都要說明。存取方法若類的存取方法只是用于對類的變量賦值、取值的話,在類的成員變量有注釋的情況下,類變量的存取方法可以沒有注釋。* 功能說明:* paramopcData要設(shè)置的Opc數(shù)據(jù)* returntrue成功false失敗* throwsServiceUnavailableException服務(wù)不可用異常*/publicstaticbooleansetDataToOpc(OpcDataopcData)throwsServiceUnavailableExceptionreturntrue;publici
14、ntgetPackets(Strings)returncopyArray(packets,offset);publicintgetBytes()returncopyArray(bytes,offset);publicintgetPackets()returnpackets;publicvoidsetPackets(intpackets)=packets;構(gòu)造函數(shù)構(gòu)造函數(shù),要用遞增的方式書寫(參數(shù)多的寫在后面),這樣可以使方法和參數(shù)更易讀。main方法'、如果已經(jīng)定義了main(String)方法,那么它就應(yīng)該寫在類的底部。換行(WrappingLines)當(dāng)一個表達(dá)式無法容納在一行內(nèi)時
15、,可以依據(jù)如下一般規(guī)則斷開:在一個逗號后面斷開在一個操作符前面斷開寧可選擇較高級別(higher-level)的斷開,而非較低級別(lower-level)的斷開新的一行應(yīng)該與上一行同一級別表達(dá)式的開頭處對齊-如果以上規(guī)則導(dǎo)致你的代碼混亂或者使代碼都堆擠在右邊,那就代之以縮進(jìn)8個空格。以下是斷開方法調(diào)用的一些例子:someMethod(longExpression1,longExpression2,longExpression3,longExpression4,longExpression5);var=someMethod1(longExpression1,someMethod2(longEx
16、pression2,/longExpression3);以下是兩個斷開算術(shù)表達(dá)式的例子。前者更好,因為斷開處位于括號表達(dá)式的外邊,這是個較高級別的斷開。longName1=longName2*(longName3+longName4-longName5)+4*longname6;./if語句的換行通常使用8個空格的規(guī)則,因為常規(guī)縮進(jìn)(4個空格)會使語句體看起來比較費勁。比如:1. ml",2. Spirng的配置文件必須放在WEB-INF/目錄下。3. 產(chǎn)品自定義的sping配置文件的命名應(yīng)該以"applicationcontext”+產(chǎn)品的名稱+某塊名稱+“.xml”,八
17、、日志規(guī)范采用10g4j作為日志模塊的標(biāo)準(zhǔn)框架,版本采用1.2.8,10g4j的配置文件為WEB-INF/classes/,配置方式采用10g4j的標(biāo)準(zhǔn)配置文件方式,如:# ForJBoss:Avoidtosetuplog4joutside$JBOSS_HOME/server/default/deploy/# Forallotherservers:CommentouttheLog4Jlistenerintoo#=INFO,logfile,console=INFO,console# =ERROR/KeepthreebackupfilesPatterntooutput:datepriorityca
18、tegory-<message>line_separator%p%c-<%m>%n%p%c-<%m>%n/log4j的參數(shù)配置參考log4j官方文檔。九、設(shè)計及技巧建議系統(tǒng)主要的層次是表現(xiàn)層、業(yè)務(wù)層和持久層,整體應(yīng)采用taglib+struts+spring+hibernate架構(gòu),各層:表現(xiàn)層表現(xiàn)層主要是用taglib來實現(xiàn)的,數(shù)據(jù)來源是業(yè)務(wù)層,不要直接使用持久層獲取數(shù)據(jù),查詢數(shù)據(jù)需要組裝查詢VO(*QueryVO)按模塊來命名包名例如每個模塊內(nèi)的包分別是:actions,按功能分別存放Actionforms,存放各個功能分別用到的formbeanmodels存放各種類型的list所用到的DataModel業(yè)務(wù)層業(yè)務(wù)層為表現(xiàn)層提供接口(用統(tǒng)一的工廠來管理這些接口),并且對常用數(shù)據(jù)做緩存??偟臉I(yè)務(wù)層包名是:com.business,按模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代物流信息系統(tǒng)建設(shè)中的標(biāo)準(zhǔn)化問題
- 掛繩高空作業(yè)施工方案
- 拆除臨時用電施工方案
- 生態(tài)文明教育在校園的實踐與推廣
- 現(xiàn)代企業(yè)綜合管理能力提升及領(lǐng)導(dǎo)力培訓(xùn)方案研究報告
- 國慶節(jié)營銷活動方案模板
- 2023三年級語文上冊 第一單元 習(xí)作:猜猜他是誰說課稿 新人教版
- Unit 2 AnimaIs Lesson 1 Enjoy the story(說課稿)-2024-2025學(xué)年北師大版(三起)英語五年級上冊
- 2024秋八年級物理上冊 第1章 機(jī)械運動 第2節(jié) 運動的描述說課稿2(新版)新人教版
- 2025仿石漆施工合同
- 數(shù)學(xué)-河南省三門峽市2024-2025學(xué)年高二上學(xué)期1月期末調(diào)研考試試題和答案
- 二零二五版電力設(shè)施維修保養(yǎng)合同協(xié)議3篇
- 最經(jīng)典凈水廠施工組織設(shè)計
- VDA6.3過程審核報告
- 工程設(shè)計費取費標(biāo)準(zhǔn)
- 2023年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))試題庫含答案解析
- CAPP教學(xué)講解課件
- 自然環(huán)境的服務(wù)功能課件 高中地理人教版(2019)選擇性必修3
- 小耳畸形課件
- 精美唯美淡雅個人求職簡歷模板 (7)
- 環(huán)保鐵1215物質(zhì)安全資料表MSDS
評論
0/150
提交評論