資源描述:
《源程序書寫規(guī)范》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、源程序書寫規(guī)范命名對(duì)于理解應(yīng)用程序的邏輯流,命名方案是最有影響力的一種幫助。名稱應(yīng)該說明“什么”而不是“如何”。通過避免使用公開基礎(chǔ)實(shí)現(xiàn)(它們會(huì)發(fā)生改變)的名稱,可以保留簡化復(fù)雜性的抽象層。例如,可以使用GetNextStudent(),而不是GetNextArrayElement()。命名原則是:選擇正確名稱時(shí)的困難可能表明需要進(jìn)一步分析或定義項(xiàng)的目的。使名稱足夠長以便有一定的意義,并且足夠短以避免冗長。唯一名稱在編程上僅用于將各項(xiàng)區(qū)分開。表現(xiàn)力強(qiáng)的名稱是為了幫助人們閱讀;因此,提供人們可以理解的名稱是有意義
2、的。不過,請(qǐng)確保選擇的名稱符合適用語言的規(guī)則和標(biāo)準(zhǔn)。以下幾點(diǎn)是推薦的命名方法。Namespace名1.使用Pascalcase命名。2.使用公司名.產(chǎn)品名這樣的格式。當(dāng)商標(biāo)(產(chǎn)品名)的命名風(fēng)格和Pascalcase不相符的時(shí)候,以商標(biāo)(產(chǎn)品名)為準(zhǔn)。3.Namespace中類的依賴關(guān)系應(yīng)該體現(xiàn)在命名上,比如System.Web.UI.Design中的類以來于System.Web.UI。4.在語意合適的情況下使用復(fù)數(shù),比如System.Collections。例外是縮寫和商標(biāo)的情況。5.Namespace的名字不
3、一定和Assembly一一對(duì)應(yīng)。類名1.文件名要和類名匹配。例如,對(duì)于類HelloWorld,相應(yīng)的文件名應(yīng)為helloworld.cs(或,helloworld.vb)2.3.枚舉名稱不要加Enum前綴或者后綴。枚舉名用單數(shù)形式,不要用復(fù)數(shù)形式。枚舉的成員使用Pascal命名。僅僅在這個(gè)Enum類型是bitfields地時(shí)候使用復(fù)數(shù)形式,并且總是給bitfieldEnum類型添加FlagsAttribute。4.接口名加I前綴,接口的成員使用Pascal命名。5.事件,委派如果delegate用來定義事件,加
4、EventHandler后綴。如果delegate用來定義callback方法,加Callback后綴(實(shí)際的callback方法不要加Callback后綴)。用動(dòng)詞命名事件,不要加Event后綴或者前綴。不要在事件聲明中使用前綴和后綴,比如,用Close而不是OnClose。用ing和ed后綴來表示先后概念,不要用before,after,begin,end模式。一般的,你應(yīng)該同時(shí)提供一個(gè)名字為OnXxx的protectedmethod供派生類來改寫6.使用特定的設(shè)計(jì)模式(包括但不限于GoF的23種模式)時(shí)使
5、用適當(dāng)類名稱表明類在該模式中的功能職責(zé)。7.類名中不使用C前綴。比如CWindow。8.使用后綴的形式指明在設(shè)計(jì)上具備某種作用的類,如:Exception類類名加Exception后綴:WordWordException組件類:WordWordBean組件中的值類型:WordWordBeanInfo適配器:WordWordAdapterAttribute類類名加Attribute后綴:WordWordAttribute。在MiniDAC中,常使用的類名后綴:-Dac,-Info,-Utility。另外,后綴Cl
6、ass有助于避免和已有的命名沖突:WordWordClass9.對(duì)于特定用途的專業(yè)應(yīng)用的類庫可使用統(tǒng)一的前綴,前綴可以是用途名也可以是公司名,格式為WrdWordWord,如用于圖形平臺(tái)的所有類以Cad開頭,如CadLine,CadCircle等。10.測(cè)試類的命名使用Test前綴。例程(方法、函數(shù))1.避免容易被主觀解釋的難懂的名稱,如對(duì)于例程的AnalyzeThis(),或者對(duì)于變量的xxK8。這樣的名稱會(huì)導(dǎo)致多義性,而不僅僅是抽象。2.在面向?qū)ο蟮恼Z言中,在類屬性的名稱中包含類名是多余的,如Book.Bo
7、okTitle。而是應(yīng)該使用Book.Title。3.使用動(dòng)詞-名詞的方法來命名對(duì)給定對(duì)象執(zhí)行特定操作的例程,如CalculateInvoiceTotal()。4.在允許函數(shù)重載的語言中,所有重載都應(yīng)該執(zhí)行相似的函數(shù)。對(duì)于那些不允許函數(shù)重載的語言,建立使相似函數(shù)發(fā)生關(guān)系的命名標(biāo)準(zhǔn)。5.在一個(gè)類中,各個(gè)方法需用一空行,也只能是一行分開。6.書寫表達(dá)式時(shí),在每個(gè)運(yùn)算符和括號(hào)的前后都空一格。7.方法名需能看出它作什么。別使用會(huì)引起誤解的名字。如果名字一目了然,就無需用文檔來解釋方法的功能了。8.考慮使用和proper
8、tytype名字相同的名字作為propertyname。9.特殊情況下的組合名字,尤其是代碼生成時(shí)可以使用組合名字:名字_名字_名字,如StatusStrip_DoubleClicked10.WordWordWord的縮寫詞在命名時(shí)使用Wwww的形式,如OkButton,SqlConnection,不使用OKButton,SQLConnection??s略詞只有兩個(gè)字母也遵守(和MS的規(guī)