C#項目代碼規範

來源:互聯網
上載者:User

標籤:

前言

   小菜就是小菜,幾個人搞出來的項目,讓公司大牛稍微看了下,最後送出了慘不忍睹四個字。命名各種各樣,五花八門,大寫英文、小寫英文、大寫拼音、小寫拼音、英文和拼音組合、字母和特殊字元(底線等)組合。這樣的項目代碼要是讓人來維護或者添加功能、尋找bug會頭痛欲裂。也沒辦法誰叫咱們是小菜呢?而且程式員最頭疼的事:http://kb.cnblogs.com/page/192017/這篇知識博文裡,最終的結果居然是命名。所以……

  於是結合現有項目,通過部落格園查看各種部落格文章,進行了一下總結。當然這樣做肯定是有不少好處的。

  1.方便代碼的交流和維護。

  2.不影響編碼的效率,不與福士習慣衝突。

  3.使代碼更美觀、閱讀更方便。

  4.使代碼的邏輯更清晰、更易於理解。

在C#中通常使用的兩種編碼方式如下

  Camel(駝峰式): 大小寫形式-除了第一個單詞,所有單詞第一個字母大寫,其他字母小寫。
  Pascal(帕斯卡): 大小寫形式-所有單詞第一個字母大寫,其他字母小寫。

本文的C#代碼規範主要參考的是大神的規範:http://www.cnblogs.com/JimmyZhang/archive/2013/06/05/3118936.html,當然還有其他的,在此就不一一進行列舉了。

C#代碼規範

1、 類型(類、結構、委託、介面)、欄位、屬性、方法、事件的命名

  優先考慮使用英文(盡量使用英文),如果實在沒有合適的英文進行描述,可以使用拼音,使用中文是不符合要求的。

 

2、不使用縮寫

  所有類型、欄位、屬性、方法、事件盡量不使用縮寫,包括大家熟知的縮寫,例如msg。

 

3、不使用單個字母的變數

  不使用單個字母的變數, 像 i、m、n,使用index等來替換,用於迴圈迭代的變數除外。

 

 

4、用Tab作為縮排,並設定縮排大小為4

 

5、 注釋

類型、屬性、事件、方法、方法參數,根據需要添加註釋。

如果類型、屬性、事件、方法、方法參數的名稱已經是自解釋了,不需要加註釋;

否則需要添加註釋。

 

6、類型名稱和源檔案名稱一致

當類型命名為Product時,其源檔案命名只能是Product.cs。

 

7、所有命名空間、類型名稱使用Pascal風格

 

8、本地變數、方法參數名使用Camel風格(不使用底線)

紅色標記的為使用Camel風格的變數或者方法參數

 

9、在一個類中,各個方法需用一空行(最好是一個空行)

 

10、避免使用大檔案。如果一個檔案裡的代碼超過300-400行,必須考慮將代碼分開到不同的類中。同時避免寫太長的方法,如果一個方法代碼過長(暫時沒有明確指出方法的行數),應該考慮將其分解為不同的方法

 

11、一個方法只完成一個任務。不要把多個工作群組合到一個方法中,即使那些任務非常小

 

12、調用類型成員內部其他成員,需加this,調用父類成員需加base

 

13、不在代碼中使用具體的路徑和磁碟機名。 使用相對路徑,並使路徑可複用

 

14、不要“捕捉了異常卻什麼也不做“。如果隱藏了一個異常,你將永遠不知道異常到底發生了沒有

 

15、如果if語句塊的內容只有一行,可以不加花括弧,並且最好和if語句位於同一行

 

16、類型內部的私人欄位和受保護欄位,使用Camel風格命名,但加“_”首碼

 

 

17、類型成員的排列順序

類型成員的排列順序自上而下依次為:

欄位:私人欄位、受保護欄位

屬性:私人屬性、受保護屬性、公有屬性

事件:私人事件、受保護事件、公有事件

建構函式:參數數量最多的建構函式,參數數量中等的建構函式,參數數量最少的建構函式

方法:重載方法的排列順序與建構函式相同,從參數數量最多往下至參數最少

 

18、委託和事件的命名

委託以EventHandler作為尾碼命名,例如 SalesOutEventHandler。

事件以其對應的委託類型,去掉EventHandler尾碼,並加上On首碼構成。

範例程式碼如下:

 

19、返回bool類型的方法、屬性的命名

如果方法返回的類型是bool類型,則其首碼為Is,例如:IsHidden。

如果某個屬性的類型為bool類型,則其首碼為Can,例如:CanHidden。

 

20、常見集合尾碼類型命名

凡符合下表所列的集合類型,應添加相應的尾碼。

 

21、常見欄位、屬性命名

欄位、屬性種類比較繁雜,因此僅列出最常用的幾項

 

總結

本文的規範,將會在接下來的新項目中進行參考使用,使用過程中遇到的問題或者意見,將會反饋到本文,也恭請各位客官前來參閱,共同最佳化。

C#項目代碼規範

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.