C#?代碼大小寫規(guī)范說明
C# 代碼大小寫規(guī)范
C# 一般采用帕斯卡命名和駝峰命名,.NET類庫就是使用這種命名方法, 可見是微軟推薦的
PasalCasing
:標(biāo)識符的第一個單詞的字母大寫;camelCasing
:標(biāo)識符的第一個單詞的字母小寫。
下表描述了不同類型標(biāo)識符的大小寫規(guī)則
標(biāo)識符 | 大小寫 | 示例 |
命名空間 | Pascal | namespace Com.Techstar.ProductionCenter |
類型 | Pascal | public class DevsList |
接口 | Pascal | public interface ITableModel |
方法 | Pascal | public void UpdateData() |
屬性 | Pascal | Public int Length{…} |
事件 | Pascal | public event EventHandler Changed; |
私有字段 | Camel | private string fieldName; |
非私有字段 | Pascal | public string FieldName; |
枚舉值 | Pascal | FileMode{Append} |
參數(shù) | Camel | public void UpdateData(string fieldName) |
局部變量 | Camel | string fieldName; |
這三個標(biāo)紅的是采用駝峰(Camel)命名法
其余的是帕斯卡(pascal)命名法
具體應(yīng)用的一般良好習(xí)慣 | |||
1、 | 成員變量前加前綴 _, 這個也是微軟的常用做法 | ||
2、 | 接口的名稱加前綴I | ||
3、 | 自定義的屬性以Attribute結(jié)尾,如: public class AuthorAttribute :Attribute { } | ||
4、 | 自定義的異常以Exception結(jié)尾,如: public class AppException: Exception {} | ||
5、 | 方法的命名。一般將其命名為動賓短語,如: ShowDialog() CreateFile() | ||
6、 | 代碼的縮進(jìn)。要用Tab,而不要用space. | ||
7、 | 局部變量的名稱要有意義。不要用x,y,z等等(除用于For循環(huán)變量中可使用i,j,k,l,m,n)。 | ||
8、 | 所有的成員變量聲明在類的頂端,用一個換行把它和方法分開。 | ||
9、 | 用有意義的名字命名namespace,如:產(chǎn)品名、公司名。 | ||
10、 | 生成和構(gòu)建一個長的字符串時,一定要使用StringBuilder,而不用string。 | ||
11、 | 始終使用”{ }”包含if下的語句,即使只有一條語句。 | ||
12、 | 把相似的內(nèi)容放在一起,比如數(shù)據(jù)成員、屬性、方法、事件等,并適當(dāng)?shù)氖褂?region…#endregion |
C#中的大小寫約定
許多命名約定都與標(biāo)識符的大小寫有關(guān)。值得注意的是,公共語言運(yùn)行庫 (CLR) 支持區(qū)分大小寫和不區(qū)分大小寫的語言。本主題中描述的大小寫約定可幫助開發(fā)人員理解和使用庫。
大小寫樣式
下列術(shù)語描述了標(biāo)識符的不同大小寫形式。
Pascal 大小寫
將標(biāo)識符的首字母和后面連接的每個單詞的首字母都大寫。可以對三字符或更多字符的標(biāo)識符使用 Pascal 大小寫。
例如: BackColor
大小寫混合
標(biāo)識符的首字母小寫,而每個后面連接的單詞的首字母都大寫。
例如: backColor
大寫
標(biāo)識符中的所有字母都大寫。
例如: IO
標(biāo)識符的大小寫規(guī)則
如果標(biāo)識符由多個單詞組成,請不要在各單詞之間使用分隔符,如下劃線(“_”)或連字符(“-”)等。而應(yīng)使用大小寫來指示每個單詞的開頭。
下列準(zhǔn)則是用于標(biāo)識符的通用規(guī)則。
對于由多個單詞組成的所有公共成員、類型及命名空間名稱,要使用 Pascal 大小寫。
注意,這條規(guī)則不適用于實(shí)例字段。由于成員設(shè)計(jì)準(zhǔn)則中詳細(xì)說明的原因,不應(yīng)使用公共實(shí)例字段。
對參數(shù)名稱使用大小寫混合。
下表匯總了標(biāo)識符的大小寫規(guī)則,并提供了不同類型標(biāo)識符的示例。
標(biāo)識符 | 大小寫方式 | 示例 |
---|---|---|
類 | Pascal | AppDomain |
枚舉類型 | Pascal | ErrorLevel |
枚舉值 | Pascal | FatalError |
事件 | Pascal | ValueChanged |
異常類 | Pascal | WebException |
只讀的靜態(tài)字段 | Pascal | RedValue |
接口 | Pascal | IDisposable |
方法 | Pascal | ToString |
命名空間 | Pascal | System.Drawing |
參數(shù) | Camel | typeName |
屬性 | Pascal | BackColor |
首字母縮寫的大小寫規(guī)則
首字母縮寫詞是由術(shù)語或短語中各單詞的首字母構(gòu)成的單詞。例如,HTML 是 Hypertext Markup Language 的首字母縮寫。只有在公眾廣為認(rèn)知和理解的情況下,才應(yīng)在標(biāo)識符中使用首字母縮寫詞。首字母縮寫詞不同于縮寫詞,因?yàn)榭s寫詞是一個單詞的縮寫。例如,ID 是 identifier 的縮寫。通常情況下,庫名不應(yīng)使用縮寫詞。
可在標(biāo)識符中使用的兩個縮寫詞是 ID 和 OK。在采用 Pascal 大小寫格式的標(biāo)識符中,這兩個縮寫詞的大小寫形式應(yīng)分別為 Id 和 Ok。如果在采用大小寫混合格式的標(biāo)識符中將這兩個縮寫詞用作首個單詞,則它們的大小寫形式應(yīng)分別為 id 和 ok。
首字母縮寫詞的大小寫取決于首字母縮寫詞的長度。所有首字母縮寫詞應(yīng)至少包含兩個字符。為了便于這些準(zhǔn)則的實(shí)施,如果某一首字母縮寫詞恰好包含兩個字符,則將其視為短型首字母縮寫詞。包含三個或三個以上字符的首字母縮寫詞為長型首字母縮寫詞。 下列準(zhǔn)則為短型和長型首字母縮寫詞指定了正確的大小寫規(guī)則。標(biāo)識符大小寫規(guī)則優(yōu)先于首字母縮寫詞大小寫規(guī)則。
兩字符首字母縮寫詞的兩個字符都要大寫,但當(dāng)首字母縮寫詞作為大小寫混合格式的標(biāo)識符的首個單詞時例外。
例如,名為 DBRate 的屬性是一個采用 Pascal 大小寫格式的標(biāo)識符,它使用短型首字母縮寫詞 (DB) 作為首個單詞。又如,名為 ioChannel 的參數(shù)是一個采用大小寫混合格式的標(biāo)識符,它使用短型首字母縮寫詞 (IO) 作為首個單詞。
包含三個或三個以上字符的首字母縮寫詞只有第一個字符大寫,但當(dāng)首字母縮寫詞作為大小寫混合格式的標(biāo)識符的首個單詞時例外。
例如,名為 XmlWriter 的類是一個采用 Pascal 大小寫格式的標(biāo)識符,它使用長型首字母縮寫詞作為首個單詞。又如,名為 htmlReader 的參數(shù)是一個采用大小寫混合格式的標(biāo)識符,它使用長型首字母縮寫詞作為首個單詞。
如果任何首字母縮寫詞位于采用大小寫混合格式的標(biāo)識符開頭,則無論該首字母縮寫詞的長度如何,都不大寫其中的任何字符。
例如,名為 xmlStream 的參數(shù)是一個采用大小寫混合格式的標(biāo)識符,它使用長型首字母縮寫詞 (xml) 作為首個單詞。又如,名為 dbServerName 的參數(shù)是一個采用大小寫混合格式的標(biāo)識符,它使用短型首字母縮寫詞 (db) 作為首個單詞。
復(fù)合詞和常用術(shù)語的大小寫規(guī)則
不要將所謂的緊湊格式復(fù)合詞中的每個單詞都大寫。這種復(fù)合詞是指寫作一個單詞的復(fù)合詞,如“endpoint”。
例如,hashtable 是一個緊湊格式的復(fù)合詞,應(yīng)將其視為一個單詞并相應(yīng)地確定大小寫。如果采用 Pascal 大小寫格式,則該復(fù)合詞為 Hashtable;如果采用大小寫混合格式,則該復(fù)合詞為 hashtable。若要確定某個單詞是否是緊湊格式的復(fù)合詞,請查閱最新的詞典。
下表列出了不是緊湊格式復(fù)合詞的一些常用術(shù)語。術(shù)語先以 Pascal 大小寫格式顯示,后面的括號中的是其大小寫混合格式。
BitFlag (bitFlag)
FileName (fileName)
LogOff (logOff)
LogOn (logOn)
SignIn (signIn)
SignOut (signOut)
UserName (userName)
WhiteSpace (whiteSpace)
區(qū)分大小寫
大小寫準(zhǔn)則只是為了使標(biāo)識符更易于閱讀和辨認(rèn)。不能將大小寫規(guī)則用作避免庫元素之間的命名沖突的手段。 不要假定所有編程語言都區(qū)分大小寫。事實(shí)并非如此。不能僅憑大小寫區(qū)分名稱。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
通過容器擴(kuò)展屬性IExtenderProvider實(shí)現(xiàn)WinForm通用數(shù)據(jù)驗(yàn)證組件
這篇文章介紹了通過容器擴(kuò)展屬性IExtenderProvider實(shí)現(xiàn)WinForm通用數(shù)據(jù)驗(yàn)證組件的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12基于.net中突破每客戶端兩個http連接限制的詳細(xì)介紹
本篇文章是對.net中突破每客戶端兩個http連接限制進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05通過LinQ查詢字符出現(xiàn)次數(shù)的實(shí)例方法
這篇文章主要介紹了通過LinQ查詢字符出現(xiàn)次數(shù)的實(shí)例方法,大家參考使用吧2013-11-11C#使?XmlReader和XmlWriter操作XML?件
這篇文章介紹了C#使?XmlReader和XmlWriter操作XML?件的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06C#調(diào)用FFplay實(shí)現(xiàn)播放視頻功能
這篇文章主要為大家詳細(xì)介紹了C#如何調(diào)用FFplay實(shí)現(xiàn)播放視頻功能,文中的示例代碼講解詳細(xì),具有一定的參考價值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10