資源描述:
《開發(fā)規(guī)范-代碼規(guī)范》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、前言3目的3適用對象3名詞解釋31排版規(guī)范41.1使用Eclipse設(shè)置41.2Eclipse代碼要求52命名規(guī)范72.1基本約定72.2包72.3類、接口72.4方法72.5BL類除getResult()、submitData()夕卜82.6靜態(tài)變量82.7非靜態(tài)變量82.8局部變量82.9新建對彖82.10全局變量92.11除CErrors夕卜的全局變量93注釋規(guī)范93.1基本原則93.2接口、類注釋93.3方法注釋93.4Eclipse中接口、類、方法快速注釋方法103.5代碼注釋114性能
2、優(yōu)化基本規(guī)則114.1對彖114附件13131.1注釋設(shè)置文件開發(fā)規(guī)范刖5目前項目開發(fā)沒有統(tǒng)一的規(guī)范標(biāo)準(zhǔn),代碼具有個人風(fēng)格,可讀性差,不利于長期維護和開發(fā),而且有些不良習(xí)慣可能會影響性能。為此制定本文檔以規(guī)范開發(fā)和運維人員在開發(fā)中的書寫標(biāo)準(zhǔn)。目的提高可讀性,風(fēng)格統(tǒng)一便于維護和開發(fā)。提高代碼質(zhì)量,通過規(guī)范,邏輯更加嚴(yán)格。適用對象運維人員開發(fā)人員名詞解釋?運維針對生產(chǎn)環(huán)境的Bug或者小需求,進行的代碼調(diào)整?開發(fā)針對新產(chǎn)站或者大需求,進行的代碼調(diào)整1排版規(guī)范代碼的組織和風(fēng)格統(tǒng)一可使代碼可讀性提高,容易理
3、解代碼。1-1使用Eclipse設(shè)置采用eclipse默認(rèn)的風(fēng)格Eclipse[built-in],見下圖。修改CodeTemplates,導(dǎo)入代碼注釋模板,見附件一。,見下圖:選中代碼,點擊右鍵,在菜單中選中source/format,就可以完成基木格式調(diào)整,例如括號換行、頁寬。1.2Eclipse代碼要求?for>while語句為單句時,也需要用括號括起來。例如:Ifd==1){f=ture;}else{f=false;?頁寬不得超過100列。?方法從方法名到結(jié)尾不得超過100行,除注釋外,其
4、他代碼都包括。?如果有main方法的話,必須在類的最下方。?不得一行聲明多個變量例如:不允許:privateinti,j;允許:privateinti=0,j二0;privateintj;?數(shù)組定義規(guī)范[]放在類Z后,例如:不允許:Stringstr[];可以:String[]str;2命名規(guī)范規(guī)范的命名能使程序更易閱讀,從而更易于理解。它們也可以提供一些標(biāo)識功能方面的信息,有助于更好的理解代碼和應(yīng)用。1.1基木約定?使用可以準(zhǔn)確說明的英文描述符。例如,采用類似firstName,listAllU
5、sers這樣的名字,嚴(yán)禁使用漢語拼音及不相關(guān)單詞命名,嚴(yán)禁使用漢字命名。?避免使用長名字(不得超過25個字母)。?避免使用相似或者僅在大小寫上有區(qū)別的名字。?遇到縮寫如XM【,時,僅首字母大寫,即loadXmlDocument()而不是1oadXMLDocument()。2.2包?—律小寫,例如:com.ping,usermanagero2.3類、接口?采用大小寫混合的形式。以大寫字母開頭,名字中其他單詞的首字母以大寫字母開頭,所有其它的單詞都為小寫字母,嚴(yán)禁使用下劃線分隔單詞。?以名詞或名詞短語
6、命名,例如:I后youtManager*、Printer。?接口以Interface為后綴,例如:Containcrlntcrfacco?抽象類以Abstract為前綴,例如1:Abstractcontainer□?缺省或首選實現(xiàn)類以Impl為丿舌綴,例如:ContainerImplo?測試類以Test為后綴,例如:ContainerTesto?異常類以Exccption為后綴,例如:Inva]idArgumcntExccption。2.4方法?采用大小寫混合的形式。以小寫字母開頭,名字中其他單詞
7、的首字母以大寫字母開頭,所有其它的單詞都為小寫字母,嚴(yán)禁使用下劃線分隔單詞。?方法的命名應(yīng)該能描繪出方法的作用和功能,方法的名字建議使用祈使動詞或者動詞短語,例如:showContState()。?獲取或者設(shè)置類的某種屬性的方法采用以get或set的顯式命名,例如:getName()或者setName(),其中Name是指類的屬性的名字。?返回布爾屬性的方法釆用前綴為is的顯式命名,例如:isVisiblo()。?對于己有的、形成通用做法的方法命名不做要求,繼續(xù)沿用原有命名方式。?LIS中通用做法
8、:submitsData()通過依次調(diào)用getlnputDataO>checkDataOdealDataOsprepareOutputData(),完成業(yè)務(wù)處理。這五個方法(包括submitsData)都是返冋布爾屬性的,是LTS的通用做法,故不要求按照返冋布爾屬性的方法采用前綴為is的顯式命名,沿用原有命名方法。并且每一個BL類必須符合上述規(guī)范,主要業(yè)務(wù)操作必須在dealData()方法內(nèi)完成。2.5BL類除getResult()>submitData()外?盡量不要新建publ