一、程式集和動態連結程式庫(DLL)的命名
程式集是一個部署單元,一般來說一個程式集僅與一個DLL對應。命名空間和DLL和程式集不是一個概念,命名空間一般來說是一個邏輯實體而DLL和程式集是用於打包和部署的一個單元,一個DLL可以包含多個命名空間,一般將DLL命名為System.Net 不一定命名空間也為System.Net。
首先、要為程式集或者DLL選擇具有代表性的名字命名,比如:System.Net,一眼就能看出它的大致用途。這樣的命名才是最合適的,才具有實際的意義。如果我們的命名不能很好的表達它具體的功能那麼就需要重新考慮更改命名了,因為不能很好表達出具體功能的命名我認為就是失敗的不合適的,因為這樣的命名並沒有給你帶來任何好處反而讓程式變得很混亂不之所云。
其次、推薦一種命名結構,即使用“公司名稱/機構名稱”+“.”+“組件名稱”+”.”+”dll”的方式來命名。因為這樣會使結構更清晰。
二、命名空間的命名
首先、命名空間要採用PascalCasing大小寫風格,各部分用“.”隔開。
其次、要盡量使用“公司名稱”為首碼,然後加組件描述名稱,因為這樣不會與其他第三方命名相衝突。
三、介面的命名
介面在實際工作中是我們經常接觸到的,它是一種約束一種抽象,對於它的命名一般採用微軟的命名習慣即:“I”+具體功能的描述。這種命名已經被大多數開發人員接受,一看見以大寫I開頭一般都會認為是介面。需要注意的是I後面的命名採用PascalCasing大小寫風格並採用形容詞有時也可以是名詞來命名,如:ICollection。
四、類和結構的命名
類和結構一般採用PascalCasing大小寫風格,採用名詞或名詞短語來命名。
不要為類名加首碼,比如“C”。
考慮在衍生類別結尾採用基類名稱。
五、枚舉類型的命名
這個也是目前我們公司爭議最大的地方,有些人認為加“Enum”首碼或者尾碼會更好一些,這樣一眼就能確定它是枚舉類型,還有一部分人認為應該墨守微軟的陳規不應該加”Enum”的首碼或者尾碼。公所公有理,婆說婆有理,最終我們目前採用的是“Enum”首碼命名方式。(少數服從多數吧)
枚舉採用PascalCasing大小寫風格。
六、方法的命名
採用PascalCasing大小寫風格。
採用動詞或者動詞短語來命名方法。
七、屬性的命名
採用PascalCasing大小寫風格。
採用名稱或者形容詞來命名屬性。
要採用項目短語的複數形式來命名集合屬性。
要有肯定性的短語來命名布爾屬性如:CanRead。
八、事件的命名
要採用PascalCasing大小寫風格。
要採用動詞或者動詞短語的時態來表示事件發生時間。
要在處理函數加“EventHandler”尾碼。
要在事件處理函數中採用“sender”“e”作為兩個參數的名字。
要在命名時間參數時加“EventArgs”尾碼。
九、欄位的命名
採用Pasca大小寫風格。
用名詞、名稱短語或者形容詞來命名欄位。
不要為欄位加首碼。
十、參數的命名
採用camelCasing大小寫風格。
要使用具有描述性的參數名稱。