資源描述:
《[精品]軟件開(kāi)發(fā)代碼規(guī)范設(shè)計(jì)(Java)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、.軟件開(kāi)發(fā)代碼規(guī)范(C)(僅通普信息技術(shù)股份有限公司供內(nèi)部使用)擬制:楊超日期:2015-3-10審核:夏峰日期:2015-3-10核準(zhǔn):馮敬剛?cè)掌冢?015-3-17簽發(fā):韓殿成日期:2015-3-21文檔版本:V1.11黑龍江通普信息技術(shù)股份有限公司版本歷史.日期版本說(shuō)明作者.目錄第一章代碼開(kāi)發(fā)規(guī)范及其指南11.1目的11.2程序內(nèi)命名規(guī)范11.3文件命名規(guī)范21.4Java文件樣式21.5代碼編寫(xiě)格式6第二章程序編寫(xiě)規(guī)范方法82.1權(quán)限修飾82.2其他規(guī)范82.3編程指南10第三章其他要求12...第一章代碼開(kāi)發(fā)
2、規(guī)范及其指南1.1目的定義這個(gè)規(guī)范的目的是讓項(xiàng)目中所有的文檔都看起來(lái)像一個(gè)人寫(xiě)的,增加可讀性,減少項(xiàng)目組中因?yàn)閾Q人而帶來(lái)的損失。(這些規(guī)范并不是一定要絕對(duì)遵守,但是一定要讓程序有良好的可讀性)1.2程序內(nèi)命名規(guī)范lPackage的命名:Package的名字應(yīng)該都是由一個(gè)小寫(xiě)單詞組成。lClass的命名:Class的名字必須由大寫(xiě)字母開(kāi)頭而其他字母都小寫(xiě)的單詞組成lClass變量的命名:變量的名字必須用一個(gè)小寫(xiě)字母開(kāi)頭。后面的單詞用大寫(xiě)字母開(kāi)頭。lStaticFinal變量的命名:StaticFinal變量的名字應(yīng)該都大
3、寫(xiě),并且指出完整含義。l參數(shù)的命名:參數(shù)的名字必須和變量的命名規(guī)范一致。l數(shù)組的命名:數(shù)組應(yīng)該總是用下面的方式來(lái)命名:byte[]buffer;而不是bytebuffer[];l方法的參數(shù):使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字:SetCounter(intsize){this.size=size;}.1.1文件命名規(guī)范l文件名由英文單詞組成,每個(gè)單詞的首字母大寫(xiě),不要超過(guò)4個(gè)單詞,如ShipOrder.jsp。lJava文件的文件名要與程序中的public類(lèi)名相同。lServet文件要以Se
4、rvlet做為結(jié)尾,如AddCompanyServlet.javal業(yè)務(wù)處理組件JavaBean要以Bean為結(jié)尾,如ProcessBean.java1.2Java文件樣式所有的Java(*.java)文件都必須遵守如下的樣式規(guī)則l頭部版權(quán)信息版權(quán)信息必須在java文件的開(kāi)頭,比如:/***Copyright2002SunMicrosystems,Inc.Allrightsreserved.*/其他不需要出現(xiàn)在javadoc的信息也可以包含在這里。lPackage/Importspackage行要在import行之前,
5、import中標(biāo)準(zhǔn)的包名要在本地的包名之前,而且按照字母順序排列。如果import行中包含了同一個(gè)包中的不同子目錄,則應(yīng)該用*來(lái)處理。packagehotlava.net.stats;importjava.io.*;importjava.util.Observable;importhotlava.util.Application;.這里java.io.*使用來(lái)代替InputStreamandOutputStream的。lClass接下來(lái)的是類(lèi)的注釋?zhuān)话闶怯脕?lái)解釋類(lèi)的相關(guān)信息,包括標(biāo)題、描述、。/***
Title
6、:Example
*
Description:AuditApplicationExample
*
Copyright:Copyright(c)200x
*
Company:xxxxx
*@authorxxxxxx*@version1.0*/接下來(lái)是類(lèi)定義,包含了在不同的行的extends和implementspublicclassCounterSetextendsObservableimplementsCloneablelClassFields接下來(lái)是類(lèi)的成員變量:/***Packe
7、tcounters*/protectedint[]packets;public的成員變量必須生成文檔(JavaDoc)。protected、private和package定義的成員變量如果名字含義明確的話,可以沒(méi)有注釋。l存取方法接下來(lái)是類(lèi)變量的存取的方法。它只是簡(jiǎn)單的用來(lái)將類(lèi)的變量賦值獲取值的話,可以簡(jiǎn)單的寫(xiě)在一行上。/***Getthecounters.*@returnanarraycontainingthestatisticaldata.Thisarrayhasbeen*freshlyallocatedandca
8、nbemodifiedbythecaller.*/publicint[]getPackets(){returncopyArray(packets,offset);}publicint[]getBytes(){returncopyArray(bytes,offset);}publicint[]getPackets(){returnp