c#命名規範彙總12條

前言

在剛學習c#的時候,在腦子根本就麼有命名規範這個概念,有了必定入門的基礎,也很難嚴格要求本身去規範代碼的命名,工做後,發現本身的命名和其餘人的命名總會有一些出入,總會鬧出一些尷尬的笑話,這裏彙總12條c#命名規範。c#

命名方式主要有兩種,
1.駝峯命名法:Camel,駝峯命名法跟帕斯卡命名法類似,只是首字母爲小寫,如userName。由於看上去像駝峯,所以而得名。俗稱「小駝峯」。學習

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

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
{
}orm

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開頭ip

12事件命名

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

總結

其實沒有什麼能夠好總結,良好的命名規範是做爲碼農的最基本要求,是「作人的底線」。還有一些沒有指出的規範,但願能評論指出,謝謝。字符串

相關文章
相關標籤/搜索