




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、百度文庫程序編碼規(guī)范編寫:XXX審核:XXXXXXX年XX月修改、引言3、命名規(guī)范3包(Package)的命名3Class的命名4Class變量的命名4接口的命名5參數的命名5數組的命名5方法的參數6三注釋規(guī)范6塊注釋(BlockComments).、6單行注釋(Single-LineComments)7尾端注釋(TrailingComments)7行末注釋(End-Of-LineComments)7版權信息8Package/Imports8Class8ClassFields9存取方法9構造函數10main方法10換行(WrappingLines)10八、日志規(guī)范11九、設計及技巧建議12表現
2、層12業(yè)務層12持久層1214一、引言編碼規(guī)范對于程序員而言尤為重要,有以下幾個原因:1、 一個軟件的生命周期中,80%的花費在于維護。2、 幾乎沒有任何一個軟件,在其整個生命周期中,均由最初的開發(fā)人員來維護。3、 編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼。/4、如果你將源碼作為產品發(fā)布,就需要確任它是否被很好的打包并且清晰無誤,一如已構建的其它任何產品為了執(zhí)行規(guī)范,每個軟件開發(fā)人員必須一致遵守編碼規(guī)范中的代碼規(guī)范,代碼規(guī)范提高軟件代碼的可讀性,使得開發(fā)人員快速和徹底的理解新代碼.。好的代碼風格不僅會提高可讀性,而且會使代碼更健壯,更為重要的是在修改時不容易出錯?,F代
3、軟件開發(fā)中,維護工作會占用80%的時間,而且開發(fā)者和維護者通常不是同一個程序員。這意味著程序員經常要閱讀和修改別人開發(fā)的程序,別人也同樣可能需要閱讀和修改你開發(fā)的程序,所以制定一套完善的編碼規(guī)范非常重要。定義本規(guī)范的目的是使項目中所有的文檔及程序編碼在寫作風格上具有一致性,增加可讀性,減少項目組中因為換人帶來的損失,從而使程序具有良好的可讀性。二、命名規(guī)范包(Package)的命名包(Packages):一個唯一包名的前綴應全部為小寫的ASCII字母,并且是一個頂級域名,通常為com、edu、gov、mil、net、org等。包名的后續(xù)部分可根據各個不同機構內部的命名規(guī)范來定義,這類命名規(guī)范可
4、以由特定的目錄名來區(qū)分部門(department)、項目(project)、機器(machine)和注冊名(loginnames)。核心程序部分:系統(tǒng)管理部分:應用維護部分:項目計劃管理部分:采購管理部分:財務管理部分:.finance監(jiān)測評價部分:如果在開發(fā)過程中還有其他情況沒有涵蓋到,可以按照上述規(guī)則進行擴展。Class的命名'Class的名字必須由一個大寫字母開頭其他字母為小寫的單詞構成。類名要用完整的單詞,避免使用縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)。ActionForm類的命名:以有意義的拼音縮寫開頭后加ActionForm/Action類的命名:以有意義的
5、拼音縮寫開頭后加ActionClass變量的命名變量名應選用易于記憶、簡短富于描述并能夠指出其用途的單詞。單詞不應以下劃線或美元符號開頭,除一次性臨時變量外盡量避免單個字符的變量名。除了變量名外,所有實例,包括類、類常量均采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫。charc(c、d、e常用于表示字符型)intI(i、j、k、m、n常用于表示整型)floatmyWidth;實例變量(InstanceVariables)大小寫規(guī)則和變量名相似,但前面需要一個下劃線int_employeeId;String_name;Customer.customer;常量(Constan
6、ts)類常量和ANSI常量的聲明,應該全部大寫,單詞間用下劃線隔開。(盡量避免ANSI常量,容易引起錯誤)staticfinalintMIN_WIDTH=4;/staticfinalintMAX_WIDTH=999;/staticfinalintGET_THE_CPU=1;/除了以下幾個特例之外,命名時應始終采用完整的英文描述符。此外,一般應采用小寫字母,但類名、接口名以及任何非初始單詞的第一個字母要大寫。1、盡量使用完整的英文描述符/2、采用適用于相關領域的術語3、采用大小寫混合使名字可讀4、盡量少用縮寫,但如果用了,要明智地使用,且在整個工程中統(tǒng)5、避免使用長的名字(小于15個字母是個好主
7、意)6、避免使用類似的名字,或者僅僅是大小寫不同的名字7、避免使用下劃線(除表態(tài)常量等)接口的命名書寫規(guī)則與類名相似,如interfaceRasterDelegate;interfaceStoring;方法(Methods):方法名是一個動詞,采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫,例如:run();runFast();getBackground();參數的命名參數的命名必須與變量的命名規(guī)范一致。數組的命名數組應該用下面的方式來命名:byte口buffer;而不是:bytebuffer口;方法的參數使用有意義的參數來命名,名字盡量和將要賦值的字段一致。例如:SetC
8、ounter(intsize)=size;三注釋規(guī)范一般情況下程序有兩類注釋:實現注釋(implementationcomments)和文檔注釋(documentcomments)。實現注釋是那些在C+中見過的,使用/*.*/和.*/界定。文檔注釋可以通過javadoc工具轉換成HTMLt件。實現注釋用來注釋代碼或者實現細節(jié)。文檔注釋從實現自由(implementation-free)的角度描述代碼的規(guī)范。它可以使手頭沒有源碼的開發(fā)人員讀懂程序。注釋是用來對代碼進行的,并提供代碼自身沒有提供的附加信息。注釋要包含有助于閱讀和理解程序的相關信息。例如,相應的包如何被建立或位于哪個目錄下之類的信息
9、不應包括在注釋中。程序可以有4種實現注釋的風格:塊(block)、單行(single-line)、尾端(trailing)和行末(end-of-line)。塊注釋(BlockComments)塊注釋通常是對文件、方法、數據結構和算法等提供描述,應置于每個文件的開始處或每個方法之前。塊注釋也可以用于其他地方,如方法的內部。,在功能和方法內部的塊注釋應該和它所描述的代碼具有一樣的縮進格式。塊注釋之首應該有一個空行,用于把塊注釋和代碼分割開來,比如:/*在這里寫塊注釋*/單行注釋(Single-LineComments)單行注釋之前也應該有一個空行。若為可以顯示在一行內短注釋,要與其后的代碼具有一樣
10、的縮進層級。如果一個注釋不能在一行內寫完,就該采用塊注釋(參見"塊注釋")的方式。以下是一個/Java代碼中單行注釋的例子:if(condition)/*判斷條件*/、.尾端注釋(TrailingComments)極短的注釋可以與它們所要描述的代碼位于同一行,但是應該有足夠的空白將代碼和注釋分開。若有多個短注釋出現在大段代碼中,它們應該具有相同的縮進。以下是一個Java代碼中尾端注釋的例子:if(a=2)returnTRUE;/*specialcase*/elsereturnisPrime(a);/*worksonlyforodda*/行末注釋(End-Of-LineCom
11、ments)利用注釋界定符”else、/returnfalse;ava)文件都必須遵守如下的樣式規(guī)則版權信息版權信息必須在/java文件的開頭,比如:*保留所有權利。/* 版權所有? *年-*年X X X X X科技有限公司,*/其他不需要出現在 javadoc的信息也可以包含在這里。Package/Importspackage行要在import行之前,import中標準的包名要在本地的包名之前,而且按照字母順序排列。如果import行中包含了同一個包中的不同子目錄,則應該用*來處理。package ;import.*;import這里.*使用來代替InputstreamandOutputst
12、ream的。Class類的注釋一般是用來解釋類功能的,需要按照如下格式編寫:/*< p>類名:Jpc</p>< p>描述:Jpc服務的用戶接口類,調用了JpcService類的實現。</p>< p>版權聲明:Copyright(c)2003-2004,< ahref="">xxxx科技有限公司</a></p>* author<ahref="作者郵箱">作者姓名</a>* version1.5.6* /ClassFields類的成員變量必
13、須通過注釋說明其含義,不管成員變量是public、protected還是private的都要說明。存取方法若類的存取方法只是用于對類的變量賦值、取值的話,在類的成員變量有注釋的情況下,類變量的存取方法可以沒有注釋。* 功能說明:* paramopcData要設置的Opc數據* returntrue成功false失敗* throwsServiceUnavailableException服務不可用異常*/publicstaticbooleansetDataToOpc(OpcDataopcData)throwsServiceUnavailableExceptionreturntrue;publici
14、ntgetPackets(Strings)returncopyArray(packets,offset);publicintgetBytes()returncopyArray(bytes,offset);publicintgetPackets()returnpackets;publicvoidsetPackets(intpackets)=packets;構造函數構造函數,要用遞增的方式書寫(參數多的寫在后面),這樣可以使方法和參數更易讀。main方法'、如果已經定義了main(String)方法,那么它就應該寫在類的底部。換行(WrappingLines)當一個表達式無法容納在一行內時
15、,可以依據如下一般規(guī)則斷開:在一個逗號后面斷開在一個操作符前面斷開寧可選擇較高級別(higher-level)的斷開,而非較低級別(lower-level)的斷開新的一行應該與上一行同一級別表達式的開頭處對齊-如果以上規(guī)則導致你的代碼混亂或者使代碼都堆擠在右邊,那就代之以縮進8個空格。以下是斷開方法調用的一些例子:someMethod(longExpression1,longExpression2,longExpression3,longExpression4,longExpression5);var=someMethod1(longExpression1,someMethod2(longEx
16、pression2,/longExpression3);以下是兩個斷開算術表達式的例子。前者更好,因為斷開處位于括號表達式的外邊,這是個較高級別的斷開。longName1=longName2*(longName3+longName4-longName5)+4*longname6;./if語句的換行通常使用8個空格的規(guī)則,因為常規(guī)縮進(4個空格)會使語句體看起來比較費勁。比如:1. ml",2. Spirng的配置文件必須放在WEB-INF/目錄下。3. 產品自定義的sping配置文件的命名應該以"applicationcontext”+產品的名稱+某塊名稱+“.xml”,八
17、、日志規(guī)范采用10g4j作為日志模塊的標準框架,版本采用1.2.8,10g4j的配置文件為WEB-INF/classes/,配置方式采用10g4j的標準配置文件方式,如:# 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的參數配置參考log4j官方文檔。九、設計及技巧建議系統(tǒng)主要的層次是表現層、業(yè)務層和持久層,整體應采用taglib+struts+spring+hibernate架構,各層:表現層表現層主要是用taglib來實現的,數據來源是業(yè)務層,不要直接使用持久層獲取數據,查詢數據需要組裝查詢VO(*QueryVO)按模塊來命名包名例如每個模塊內的包分別是:actions,按功能分別存放Actionforms,存放各個功能分別用到的formbeanmodels存放各種類型的list所用到的DataModel業(yè)務層業(yè)務層為表現層提供接口(用統(tǒng)一的工廠來管理這些接口),并且對常用數據做緩存??偟臉I(yè)務層包名是:com.business,按模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- CAB 1013-2013汽車裝飾用毛皮制品
- 金屬密封件市場競爭與發(fā)展趨勢考核試卷
- 2024年真空絕熱板芯材投資申請報告代可行性研究報告
- 影視特效化妝特效化妝師職業(yè)培訓協議
- 老齡化住宅預售資金監(jiān)管與養(yǎng)老服務協議
- 母嬰用品電商平臺數據分析合作協議
- 知識產權維權援助合同
- 跨界合作直播節(jié)目補充協議
- 電競俱樂部與電競俱樂部戰(zhàn)隊戰(zhàn)隊交通合作協議
- 禁賭法視角下賭博債務合法化解協議
- 《社區(qū)公園》課件
- 2025河南高考:政治必考知識點總結
- 互聯網公司民事起訴狀模板
- 餐飲公司全套管理制度
- 肺癌患者疼痛的護理措施
- 統(tǒng)計學史及理論發(fā)展試題及答案
- DBJ51T-009-2018-四川省-綠色建筑評價標準
- 食品生產線安全員崗位職責
- 急診急救考試題及答案3
- 學科融合背景下校本綜合實踐活動課程開發(fā)研究
- 貴州企業(yè)招聘2024貴州金融控股集團有限責任公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論