資源描述:
《華為java編程規(guī)范》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、密級:內(nèi)部公開1Java編程規(guī)范1.1排版1.1.1規(guī)則規(guī)則1程序塊要采用縮進(jìn)風(fēng)格編寫,縮進(jìn)的空格數(shù)為4個,不允許使用TAB縮進(jìn)。(1.42+)說明:縮進(jìn)使程序更易閱讀,使用空格縮進(jìn)可以適應(yīng)不同操作系統(tǒng)與不同開發(fā)工具。規(guī)則2分界符(如大括號‘{’和‘}’)應(yīng)各獨(dú)占一行,同時與引用它們的語句左對齊。在函數(shù)體的開始、類和接口的定義、以及if、for、do、while、switch、case語句中的程序或者static、,synchronized等語句塊中都要采用如上的縮進(jìn)方式。(1.42+)示例:if(a>b){doStart();}規(guī)則3較長的語句、表達(dá)式或參數(shù)
2、(>80字符)要分成多行書寫,長表達(dá)式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進(jìn)行適當(dāng)?shù)目s進(jìn),使排版整齊,語句可讀。(1.42+)示例:if(logger.isDebugEnabled()){logger.debug("Sessiondestroyed,call-id"+event.getSession().getCallId());}規(guī)則4不允許把多個短語句寫在一行中,即一行只寫一條語句(1.42+)說明:閱讀代碼更加清晰示例:如下例子不符合規(guī)范。Objecto=newObject();Objectb=null;規(guī)則5if,for,d
3、o,while,case,switch,default等語句自占一行,且if,for,do,while,switch等語句的執(zhí)行語句無論多少都要加括號{},case的執(zhí)行語句中如果定義變量必須加括號{}。(1.42+)說明:閱讀代碼更加清晰,減少錯誤產(chǎn)生示例:if(a>b){doStart();}Page17,Total18密級:內(nèi)部公開casex:{inti=9;}規(guī)則1相對獨(dú)立的程序塊之間、變量說明之后必須加空行。(1.42+)說明:閱讀代碼更加清晰示例:if(a>b){doStart();}//此處是空行return;規(guī)則2在兩個以上的關(guān)鍵字、變量、常量
4、進(jìn)行對等操作時,它們之間的操作符之前、之后或者前后要加空格;進(jìn)行非對等操作時,如果是關(guān)系密切的立即操作符(如.),后不應(yīng)加空格。(1.42+)說明:閱讀代碼更加清晰示例:if(a==b){objectA.doStart();}a*=2;1.1.1建議建議1類屬性和類方法不要交叉放置,不同存取范圍的屬性或者方法也盡量不要交叉放置。(1.42+)格式:類定義{類的公有屬性定義類的保護(hù)屬性定義類的私有屬性定義類的公有方法定義類的保護(hù)方法定義Page17,Total18密級:內(nèi)部公開類的私有方法定義}建議1修飾詞按照指定順序書寫:[訪問權(quán)限][static][fina
5、l]。(1.42+)示例:publicstaticfinalStringstr=“abc”;1.1注釋1.1.1規(guī)則規(guī)則1源程序注釋量必須在30%以上。(1.42+)說明:由于每個文件的代碼注釋不一定都可以達(dá)到30%,建議以一個系統(tǒng)內(nèi)部模塊作為單位進(jìn)行檢查規(guī)則1包的注釋:寫入一個名為package.html的HTML格式的說明文件放入包所在路徑。包的注釋內(nèi)容:簡述本包的作用、詳細(xì)描述本包的內(nèi)容、產(chǎn)品模塊名稱和版本、公司版權(quán)。(1.42+)說明:方便JavaDoc收集,方便對包的了解示例:com/huawei/iin/websmap/comm/package.h
6、tml
一句話簡述。
詳細(xì)描述。
產(chǎn)品模塊名稱和版本
公司版權(quán)信息示例:
為WEBSMAP提供通信類,上層業(yè)務(wù)使用本包的通信類與SMP-B進(jìn)行通信。
詳細(xì)描述。。。。。。。。
IINV100R001WEBSMAP
(C)版權(quán)所有2000-2001華為技術(shù)有限公司Page17,Total18密級:內(nèi)部公開規(guī)則1類和接口的注釋放在class或者interface關(guān)鍵字之前,import關(guān)鍵字之后。注釋主要是一句話功能簡述與功能
7、詳細(xì)描述。類注釋使用“/***/”注釋方式(1.42+)說明:方便JavaDoc收集,沒有import可放在package之后。注釋可根據(jù)需要列出:作者、內(nèi)容、功能、與其它類的關(guān)系等。功能詳細(xì)描述部分說明該類或者接口的功能、作用、使用方法和注意事項(xiàng),每次修改后增加作者和更新版本號和日期,@since表示從那個版本開始就有這個類或者接口,@deprecated表示不建議使用該類或者接口。/***〈一句話功能簡述〉*〈功能詳細(xì)描述〉*@author[作者](必須)*@see[相關(guān)類/方法](可選)*@since[產(chǎn)品/模塊版本](必須)*@deprecated(可
8、選)*/示例:packagecom.h