接口命名規範:
1.大寫約定
PascalCasing:帕斯卡命名法,每一個單詞首字母大寫
應用場景:命名空間、類型、接口、方法、屬性、事件、字段、枚舉、枚舉值
eg:HtmlTag IOStream
注意:兩個字母的縮略詞,兩個字母都要大寫 IOStreamhtml
camelCasing:首字母小寫(雙字母縮寫都小寫)
應用場景:參數
eg:htmlTag ioStream編程
2.通用命名約定
word選擇:
選擇易讀標識符名稱
可讀性高於簡潔性
不要用_、連字符或數字
不要用匈牙利表示法
避免和編程關鍵字衝突的標識符spa
使用縮寫和首字母縮寫詞:
不要在標識符中使用縮寫形式或縮略形式
不要使用不經常使用縮寫形式
eg:GetWindow 非 GetWinhtm
避免特定於語言的名稱:
選擇有意義的名稱,eg:GetLength 非 GetInt接口
爲現有API的新版本命名:
使用舊版API相似的名稱
優先用後綴體現新版本
考慮使用全新但有意義的標識符
在添加任何有意義的後綴都不合適的狀況下,用數字後綴指示新版本
不要用"Ex"(或相似)表示不一樣版本事件
3.程序集和DLL的名稱
爲程序集DLL選擇令人聯想到大量功能的名稱資源
4.命名空間的名字
規則:<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
用一個公司做爲前綴
第二級名稱使用穩定的、與版本無關的名稱
使用PascalCasing命名法
適當使用複數形式
不要引入泛型類型名稱、如:Element、Node、Log和Message等等
應用程序模塊命名空間
基礎結構命名空間
核心命名空間(System、System.IO、System.Net):不要使用與核心命名空間衝突的類型名稱
技術命名空間組:兩個命名空間節點一致,屬於同一單一技術的類型之間不能相互衝突io
5.類、結構和接口的名稱
使用PascalCasing命名法
用形容詞短語命名接口
不要給類名加前綴(eg:C)
考慮用基類名稱做爲派生類的結尾
接口名稱加"I"
確保類和接口的名稱區別僅在於前綴"I"class
泛型參數名稱:
用描述性名稱命名泛型參數,可用T做爲參數名稱
用T參數名稱的前綴基礎
常見類型名稱:
屬性:加Attribute
委託:委託名稱中加後綴:EventHandler
使用委託的方法加後綴:Callback
不要加:Delegate
事件參數:加後綴:EventArgs
枚舉:不要加enum或flag後綴
異常:加Exception後綴
字典:加Dictionary
集合:Collection
流:加後綴Stream
許可:加後綴 Permission
命名枚舉:
PascalCasing命名法
單數類型的名稱
不要Enum、Flag等後綴
不要前綴
6.類型成員名稱
方法名稱:謂詞或謂詞短語表示
屬性名稱:
名詞或形容詞、
不要用與Get方法匹配的屬性、
用複數形式,而不是list後綴
用確定語氣命名bool值,或者 Is 、Can 或 Has 前綴
用屬性類型來命名
事件名稱:
用謂詞或謂詞短語命名
用如今時或過去時表示事件前後概念,用ing或ed後綴,而不是Before或After
用EventHandler後綴來命名事件,用EventArgs 命名參數
事件中使用兩個名爲 object sender 和 ClickedEventArgs e 的參數
字段名稱:
用PascalCasing命名
用名詞、名詞短語或形容詞命名字段
不要使用前綴
7.命名參數
用camelCasing命名
用描述性參數名稱
用基於參數含義而非參數類型的名稱
命名運算符重載參數:
參數無心義: 二元運算符用left和right;一元運算符用value
8.命名資源用PascalCasing命名用描述性標識符而非簡短標識符不要使用特定關鍵字只能使用字母、數字、下劃線異常消息資源命名:ArgumentExceptionInvalidName