資源描述:
《很全的c#開發(fā)編碼規(guī)范》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、C#編程規(guī)范口錄1前言21.1編寫目的21.2范圍22.規(guī)范內(nèi)容22.1代碼格式22.2命名指南32.2.1大寫樣式32.2.2區(qū)分大小寫42.2.3縮寫52.2.4措詞52.2.5避免類型名稱混淆62.2.6命名空間命名指南82.2.7類命名指南92.2.8類成員變量命名指南92.2.9接口命名指南102.2.10屬性命名指南1()2.2.11枚舉類型命名指南102.2.12靜態(tài)字段命名指南112.2.13參數(shù)命名指南112.2.14方法命名指南122.2.15屬性命名指南122216事件命名指南132.3注釋(Comment)規(guī)范142.3.1模塊(類)注釋規(guī)范142.3.2類屬性
2、注禪規(guī)范15233方法注釋規(guī)范15234代碼間注釋規(guī)范153成功的模式163.1有效地使用這些標準163.2其它導向成功代碼的因索161.1編寫目的為了保證企業(yè)編寫出的程序都符合相同的規(guī)范,保證一致性、統(tǒng)一性而建立的程序編碼規(guī)范。1.2范適用于企業(yè)所有基于.NET平臺的軟件開發(fā)工作。2.規(guī)范內(nèi)容2.1代碼格式?所有的縮進為4個空格,使用VS.NET的默認設(shè)置。?在代碼中垂直對齊左括號和右括號。if(x=O){Response.Write("用戶編號必須輸入!”);}不允許以下情況:if(x=0){Response.Write("用戶編號必須輸入!“);}或者:if(x—0){Respo
3、nse.Write(,z用戶編號必須輸入!”);}?為了防止在閱讀代碼時不得不滾動源代碼編輯器,每行代碼或注釋在1024*800的顯示頻率下不得超過一顯示屏?當一行被分為兒行時,通過將串聯(lián)運算符放在每一行的末尾而不是開頭,清楚地表示沒有后而的行是不完整的。?每一行上放置的語句避免超過一條。?在大多數(shù)運算符Z前和Z后使用空格,這樣做時不會改變代碼的意圖卻可以使代碼容易閱讀。例:intj=i+k;而不應(yīng)寫為intj=i+k;?將人的復雜代碼節(jié)分為較小的、易于理解的模塊。2.2命名指南2.2.1大寫樣式使用卜-面的三種大寫標識符約定。Pascal大小寫將標識符的首字母和后面連接的每個單詞的首
4、字母都大寫??梢詫θ址蚋嘧址臉俗R符使用Pascal人小寫。例如:BackColorCamel大小寫標識符的首字母小寫,而每個后面連接的單詞的首字母都人寫。例如:backColor大寫標識符中的所有字母都大寫。僅對于由兩個或者更少字母組成的標識符使用該約定。例如:System.10System.Web.UI可能還必須大寫標識符以維持少現(xiàn)有非托管符號方案的兼容性,在該方案中所有大寫字母經(jīng)常用于枚舉和常數(shù)值。一般情況下,在使用它們的程序集Z外這些字符應(yīng)當是不可見的。下表匯總了大寫規(guī)則,并提供了不同類型的標識符的示例。標識符大小寫示例類PascalAppDomain枚舉類型Pascal
5、ErrorLevel枚舉值PascalFatalError事件PascalValueChange異常類PascalWebException注意總是以Exception后綴結(jié)尾。只讀的靜態(tài)字段PascalRedValue接口PascalIDisposable注意總是以1前綴開始。方法PascalToString命名空間PascalSystem.Drawing參數(shù)CameltypeName屬性PascalBackColor受保護的實例字CamelredValue段注意很少使用。屬性優(yōu)于使用受保護的實例字段公共實例字段PascalRedValue注意很少使用。屬性優(yōu)于使用公共實例字段。2.2
6、.2區(qū)分大小寫為了避免混淆和保證跨語言交互操作,請遵循有關(guān)區(qū)分大小寫的使用的下列規(guī)則:?不耍使用要求區(qū)分大小寫的名稱。對于區(qū)分大小寫和不區(qū)分大小寫的語言,組件都必須完全可以使用。不區(qū)分大小寫的語言無法區(qū)分同一上下文屮僅人小寫不同的兩個名稱。因此,在創(chuàng)建的組件或類中必須避免這種情況。?不要創(chuàng)建僅是名稱大小寫有區(qū)別的兩個命名空間。例如,不區(qū)分大小寫的語言無法區(qū)分以下兩個命名空間聲明。namespaceee.cummings;namespaceEe.Cummings;?不要創(chuàng)建具有僅是大小寫有區(qū)別的參數(shù)名稱的函數(shù)。下而的示例是不正確的。voidMyFunction(stringa,strin
7、gA)?不要創(chuàng)建具冇僅是大小寫冇區(qū)別的類型名稱的命名空間。在下面的示例中,Pointp和POINTp是不適當?shù)念愋兔Q,原因是它們僅是大小寫有區(qū)別。System.Windows.Forms.PointpSystem.Windows.Forms.POINTp?不要創(chuàng)建具有僅是人小寫有區(qū)別的屬性名稱的類型。在下面的示例屮,intColor和intCOLOR是不適當?shù)膶傩悦Q,原因是它們僅是大小寫有區(qū)別。intColor{get,set}intCOL