程序編碼規(guī)范(java)_第1頁
程序編碼規(guī)范(java)_第2頁
程序編碼規(guī)范(java)_第3頁
程序編碼規(guī)范(java)_第4頁
程序編碼規(guī)范(java)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

程序編碼規(guī)范(java)程序編碼規(guī)范(java)程序編碼規(guī)范(java)程序編碼規(guī)范(java)編制僅供參考審核批準生效日期地址:電話:傳真:郵編:程序編碼規(guī)范編寫:×××審核:×××××××年××月修改目錄一、引言 3二、命名規(guī)范 3包(Package)的命名 3Class的命名 4Class變量的命名 4接口的命名 5參數的命名 5數組的命名 5方法的參數 6三注釋規(guī)范 6塊注釋(BlockComments) 7單行注釋(Single-LineComments) 7尾端注釋(TrailingComments) 7行末注釋(End-Of-LineComments) 8四Java文件樣式 8版權信息 8Package/Imports 9Class 9ClassFields 10存取方法 10構造函數 10main方法 11換行(WrappingLines) 11行長度(LineLength) 13語句(Statements) 13五排版格式 18六JSP編碼規(guī)范 19七、文件與目錄 20八、日志規(guī)范 20九、設計及技巧建議 21表現層 22業(yè)務層 22持久層 22

一、引言編碼規(guī)范對于程序員而言尤為重要,有以下幾個原因:一個軟件的生命周期中,80%的花費在于維護。幾乎沒有任何一個軟件,在其整個生命周期中,均由最初的開發(fā)人員來維護。編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼。如果你將源碼作為產品發(fā)布,就需要確任它是否被很好的打包并且清晰無誤,一如已構建的其它任何產品為了執(zhí)行規(guī)范,每個軟件開發(fā)人員必須一致遵守編碼規(guī)范中的代碼規(guī)范,代碼規(guī)范提高軟件代碼的可讀性,使得開發(fā)人員快速和徹底的理解新代碼.。好的代碼風格不僅會提高可讀性,而且會使代碼更健壯,更為重要的是在修改時不容易出錯。現代軟件開發(fā)中,維護工作會占用80%的時間,而且開發(fā)者和維護者通常不是同一個程序員。這意味著程序員經常要閱讀和修改別人開發(fā)的程序,別人也同樣可能需要閱讀和修改你開發(fā)的程序,所以制定一套完善的編碼規(guī)范非常重要。定義本規(guī)范的目的是使項目中所有的文檔及程序編碼在寫作風格上具有一致性,增加可讀性,減少項目組中因為換人帶來的損失,從而使程序具有良好的可讀性。二、命名規(guī)范包(Package)的命名 包(Packages):一個唯一包名的前綴應全部為小寫的ASCII字母,并且是一個頂級域名,通常為com、edu、gov、mil、net、org等。包名的后續(xù)部分可根據各個不同機構內部的命名規(guī)范來定義,這類命名規(guī)范可以由特定的目錄名來區(qū)分部門(department)、項目(project)、機器(machine)和注冊名(loginnames)。核心程序部分:系統管理部分:應用維護部分:項目計劃管理部分:采購管理部分:財務管理部分:.finance監(jiān)測評價部分:如果在開發(fā)過程中還有其他情況沒有涵蓋到,可以按照上述規(guī)則進行擴展。Class的命名Class的名字必須由一個大寫字母開頭其他字母為小寫的單詞構成。類名要用完整的單詞,避免使用縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)。ActionForm類的命名:以有意義的拼音縮寫開頭后加ActionFormAction類的命名:以有意義的拼音縮寫開頭后加ActionClass變量的命名變量名應選用易于記憶、簡短富于描述并能夠指出其用途的單詞。單詞不應以下劃線或美元符號開頭,除一次性臨時變量外盡量避免單個字符的變量名。除了變量名外,所有實例,包括類、類常量均采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫。charc(c、d、e常用于表示字符型)intI(i、j、k、m、n常用于表示整型)floatmyWidth;實例變量(InstanceVariables)大小寫規(guī)則和變量名相似,但前面需要一個下劃線int_employeeId;String_name;Customer_customer;常量(Constants)類常量和ANSI常量的聲明,應該全部大寫,單詞間用下劃線隔開。(盡量避免ANSI常量,容易引起錯誤)staticfinalintMIN_WIDTH=4;staticfinalintMAX_WIDTH=999;staticfinalintGET_THE_CPU=1;除了以下幾個特例之外,命名時應始終采用完整的英文描述符。此外,一般應采用小寫字母,但類名、接口名以及任何非初始單詞的第一個字母要大寫。1、盡量使用完整的英文描述符2、采用適用于相關領域的術語3、采用大小寫混合使名字可讀4、盡量少用縮寫,但如果用了,要明智地使用,且在整個工程中統一5、避免使用長的名字(小于15個字母是個好主意)6、避免使用類似的名字,或者僅僅是大小寫不同的名字7、避免使用下劃線(除表態(tài)常量等)接口的命名書寫規(guī)則與類名相似,如interfaceRasterDelegate;interfaceStoring;方法(Methods):方法名是一個動詞,采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫,例如:run();runFast();getBackground();參數的命名參數的命名必須與變量的命名規(guī)范一致。數組的命名數組應該用下面的方式來命名:byte[]buffer;而不是:bytebuffer[]; 方法的參數使用有意義的參數來命名,名字盡量和將要賦值的字段一致。例如:SetCounter(intsize){ =size;} 三注釋規(guī)范一般情況下程序有兩類注釋:實現注釋(implementationcomments)和文檔注釋(documentcomments)。實現注釋是那些在C++中見過的,使用/*...*/和.*/界定。文檔注釋可以通過javadoc工具轉換成HTML文件。實現注釋用來注釋代碼或者實現細節(jié)。文檔注釋從實現自由(implementation-free)的角度描述代碼的規(guī)范。它可以使手頭沒有源碼的開發(fā)人員讀懂程序。注釋是用來對代碼進行的,并提供代碼自身沒有提供的附加信息。注釋要包含有助于閱讀和理解程序的相關信息。例如,相應的包如何被建立或位于哪個目錄下之類的信息不應包括在注釋中。程序可以有4種實現注釋的風格:塊(block)、單行(single-line)、尾端(trailing)和行末(end-of-line)。塊注釋(BlockComments)塊注釋通常是對文件、方法、數據結構和算法等提供描述,應置于每個文件的開始處或每個方法之前。塊注釋也可以用于其他地方,如方法的內部。在功能和方法內部的塊注釋應該和它所描述的代碼具有一樣的縮進格式。塊注釋之首應該有一個空行,用于把塊注釋和代碼分割開來,比如:/**在這里寫塊注釋*/單行注釋(Single-LineComments)單行注釋之前也應該有一個空行。若為可以顯示在一行內短注釋,要與其后的代碼具有一樣的縮進層級。如果一個注釋不能在一行內寫完,就該采用塊注釋(參見"塊注釋")的方式。以下是一個Java代碼中單行注釋的例子:if(condition){/*判斷條件*/...}尾端注釋(TrailingComments)極短的注釋可以與它們所要描述的代碼位于同一行,但是應該有足夠的空白將代碼和注釋分開。若有多個短注釋出現在大段代碼中,它們應該具有相同的縮進。以下是一個Java代碼中尾端注釋的例子:if(a==2){returnTRUE;/*specialcase*/}else{returnisPrime(a);/*worksonlyforodda*/}行末注釋(End-Of-LineComments)利用注釋界定符"...}else{returnfalse;}.ava)文件都必須遵守如下的樣式規(guī)則版權信息版權信息必須在java文件的開頭,比如:/**版權所有****年-****年×××××科技有限公司,*保留所有權利。*/ 其他不需要出現在javadoc的信息也可以包含在這里。Package/Importspackage行要在import行之前,import中標準的包名要在本地的包名之前,而且按照字母順序排列。如果import行中包含了同一個包中的不同子目錄,則應該用*來處理。package……;import.*;import 這里.*使用來代替InputStreamandOutputStream的。Class類的注釋一般是用來解釋類功能的,需要按照如下格式編寫:/***<p>類名:Jpc</p>*<p>描述:Jpc服務的用戶接口類,調用了JpcService類的實現。*</p>*<p>版權聲明:Copyright(c)2003-2004,*<ahref="">××××科技有限公司</a></p>**@author<ahref="作者郵箱">作者姓名</a>*@version1.5.6*/ ClassFields類的成員變量必須通過注釋說明其含義,不管成員變量是public、protected還是private的都要說明。存取方法若類的存取方法只是用于對類的變量賦值、取值的話,在類的成員變量有注釋的情況下,類變量的存取方法可以沒有注釋。/***功能說明:…*@paramopcData要設置的Opc數據*@returntrue成功false失敗*@throwsServiceUnavailableException服務不可用異常*/publicstaticbooleansetDataToOpc(OpcDataopcData)throws ServiceUnavailableException{returntrue;}publicint[]getPackets(Strings){returncopyArray(packets,offset);}publicint[]getBytes(){returncopyArray(bytes,offset);}publicint[]getPackets(){returnpackets;}publicvoidsetPackets(int[]packets){=packets;}構造函數構造函數,要用遞增的方式書寫(參數多的寫在后面),這樣可以使方法和參數更易讀。main方法如果已經定義了main(String[])方法,那么它就應該寫在類的底部。換行(WrappingLines)當一個表達式無法容納在一行內時,可以依據如下一般規(guī)則斷開:在一個逗號后面斷開在一個操作符前面斷開寧可選擇較高級別(higher-level)的斷開,而非較低級別(lower-level)的斷開新的一行應該與上一行同一級別表達式的開頭處對齊-如果以上規(guī)則導致你的代碼混亂或者使代碼都堆擠在右邊,那就代之以縮進8個空格。以下是斷開方法調用的一些例子:someMethod(longExpression1,longExpression2,longExpression3,longExpression4,longExpression5);var=someMethod1(longExpression1,someMethod2(longExpression2,longExpression3));以下是兩個斷開算術表達式的例子。前者更好,因為斷開處位于括號表達式的外邊,這是個較高級別的斷開。longName1=longName2*(longName3+longName4-longName5)+4*longname6;.}.}if語句的換行通常使用8個空格的規(guī)則,因為常規(guī)縮進(4個空格)會使語句體看起來比較費勁。比如:ml”,Spirng的配置文件必須放在WEB-INF/目錄下。產品自定義的sping配置文件的命名應該以“applicationContext”+產品的名稱+某塊名稱+“.xml”,八、日志規(guī)范采用log4j作為日志模塊的標準框架,版本采用1.2.8,log4j的配置文件為WEB-INF/classes/,配置方式采用log4j的標準配置文件方式,如:#ForJBoss:Avoidtosetuplog4joutside$JBOSS_HOME/server/default/deploy/#Forallotherservers:CommentouttheLog4Jlistenerintoo#=INFO,logfile,console=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論