C#命名規范匯總12條


前言

在剛學習c#的時候,在腦子根本就么有命名規范這個概念,有了一定入門的基礎,也很難嚴格要求自己去規范代碼的命名,工作后,發現自己的命名和其他人的命名總會有一些出入,總會鬧出一些尷尬的笑話,這里匯總12條c#命名規范。

命名方式主要有兩種,
1.駝峰命名法:Camel,駝峰命名法跟帕斯卡命名法相似,只是首字母為小寫,如userName。因為看上去像駝峰,因此而得名。俗稱“小駝峰”。

2.帕斯卡命名法:帕斯卡命名法 即pascal命名法。做法是首字母大寫,如UserName,俗稱“大駝峰”。
還有一種不是很常見的:匈牙利命名法,該命名法是在每個變量名的前面加上若干表示數據類型的字符。基本原則是:變量名=屬性+類型+對象描述。如i表示int,所有i開頭的變量命都表示int類型。s表示String,所有變量命以s開頭的都表示String類型變量。

1.變量命名及定義

  • 在簡單的循環語句中計數器變量使用 i, j, k, l, m, n
  • 使用 Camel 命名規則
    -私有變量也可以加_,如 _userName
  • 對於bool型屬性或者變量使用Is(is)作為前綴,不要使用Flag后綴,例如應該使用IsDeleted,而不要使用DeleteFlag
    -String.Format()代替字符串拼接;
    -長字符串相加或拼接次數較多時,使用String.Builder;
    -使用int.TryParse(),不使用int.Parse();
    -不再循環內定義變量;

2.屬性命名

  • 名稱應該為名詞及名詞短語
  • 使用Pascal規則

3.枚舉命名規則

  • 對於 Enum 類型和值名稱使用 Pascal 大小寫。
  • 少用縮寫。
  • 不要在 Enum 類型名稱上使用 Enum 后綴。
  • 對大多數 Enum 類型使用單數名稱,但是對作為位域的 Enum 類型使用復數名稱。
  • 總是將 FlagsAttribute 添加到位域 Enum 類型。

4.方法命名

  • 使用Pascal規則
  • 對方法名采用一致的動詞/賓語或賓語/動詞順序。例如,將動詞置於前面時,所使用的名稱諸如 InsertWidget 和 InsertSprocket;將賓語置於前面時,所使用的名稱諸如 WidgetInsert 和 SprocketInsert。
  • 推薦名稱應該為動詞或動詞短語.例如Save,SaveCustomer,而不要使用CustomerSave

5.集合命名

  • 名稱應該為名詞及名詞短語
  • 使用Pascal規則
  • 名稱后面追加“Collection”或者加復數形式-s也行

6.自定義的屬性以Attribute結尾

代碼如下:
public class AuthorAttribute : Attribute
{
}

7.自定義的異常以Exception結尾

代碼如下:
public class AppException : Exception
{
}

8.接口命名

  • 接口名稱應該為名詞及名詞短語或者描述其行為的形容詞,盡可能使用完整的詞. (Example IComponent or IEnumberable)
  • 使用Pascal規則
  • 使用字符I為前綴,並緊跟一個大寫字母(即接口名的第一個字母大寫)
    例如:

代碼如下:
interface ICompare
{
int Compare();
}

9.類命名

  • 類名應該為名詞及名詞短語,盡可能使用完整的詞.
  • 使用Pascal規則
  • 不要使用類前綴 - 不要使用下划線字符 (_)。
  • 有時候需要提供以字母 I 開始的類名稱,雖然該類不是接口。只要 I 是作為類名稱組成部分的整個單詞的第一個字母,這便是適當的。例如,類名稱 IdentityStore 就是適當的。
  • 在適當的地方,使用復合單詞命名派生的類。派生類名稱的第二個部分應當是基類的名稱。例如,ApplicationException 對於從名為 Exception 的類派生的類是適當的名稱,原因是 ApplicationException 是一種 Exception。請在應用該規則時進行合理的判斷。例如,Button 對於從 Control 派生的類是適當的名稱。盡管按鈕是一種控件,但是將 Control 作為類名稱的一部分將使名稱不必要地加長
    -創建類時不要與內置類名相同,以免混淆

10 縮進

縮進會使代碼邏輯更加清晰,嵌套更加明確。縮進時不要是使用空格鍵,使tab鍵。

11控件的命名

-Button:btn開頭
-Textbox:tb開頭
-Combox:cb開頭
-ContentMenuStrip:cms開頭
-CheckBox:ccb開頭
-DataGridView:dgv開頭

12事件命名

  • event handlers命名使用 EventHandler 后綴
  • 兩個參數分別使用 sender 及 e
  • 使用Pascal規則
  • 事件參數使用EventArgs 后綴
  • 事件命名使用語法時態反映其激發的狀態,例如 Changed,Changing
  • 考慮使用動詞命名. 變量命名

總結

良好的命名規范是作為碼農的最基本要求,是“做人的底線”。還有一些沒有指出的規范,希望能評論指出,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM