c#代碼編程風格很實用

來源:互聯網
上載者:User

 

 

1. 代碼風格規範 

規範

說明

縮排

4個空格

用Tab的話在不同地方顯示長度會變

行寬

固定

限制為在VS2010中不隱藏Solution Explorer時不超出邊界

括弧

不要依賴優先順序而省略括弧

在複雜的條件運算式中清楚表示邏輯優先順序

斷行與空白的{}行

必須,不能省略

單步Debug需要;

使結構和對應關係清晰

底線

只有兩種情況下使用:

  • 類的私人成員以底線開頭
  • 事件響應函數以底線分隔對象和動作

 

大小寫

類型/類/函數名用Pascal形式

變數用Camel形式

類/類型/變數用組合名詞,

函數則用動詞或動賓組合詞

注釋

  • 複雜的注釋應該放在函數頭;
  • 注釋只用來解釋程式做什麼,為什麼這樣做,以及要特別注意的地方;
  • 不要注釋程式是怎麼工作的,這應該在代碼中清晰體現
  • 有明顯相似作用的代碼要用 #region #endregion 括起來並簡單注釋

注釋應隨程式的修改而不斷更新

 

命名規則:

規範

樣本

類的私人成員

以底線開頭,後第一個單詞首字母小寫其餘首字母大寫。

_startPosition

類的公有成員

以屬性(Property)體現,私人成員若需外部存取必須通過屬性封裝。

public float StartPosition

{

    get;

    private set;

}

類的屬性名稱

所有單詞的第一個首字母都要大寫。

StartPosition

其它除類的私人成員外的變數

均為第一個單詞首字母小寫其餘首字母大寫。

myPrivateVariable

類、枚舉、結構體的名字

所有單詞的第一個首字母都要大寫。

MiniSphere

命名空間的名字

所有單詞的第一個首字母都要大寫;

不能有底線,若有說明需劃分子命名空間

 

 

注釋的一些模板

檔案注釋

位於檔案開頭:

/***************************************************************************\

 * CodingCrazy Team @ MSRA-USTC Class

 *

 * Module Name:An unabbreviated name for the module (not the filename)

 * Abstract:

 *     Description of what this module does

 * Notes:

 *     [Optional] algorithm description, special case conditions,

 *     references, etc.

 *    

 * History:

 *     Created on 2010-11-24 by xxx

 *       # Add …

 *     Modified on 2010-11-25 by xxx

 *       # Add …

 *       # Remove ...

 *       # ...

 *     Modified on 2010-11-26 by xxx

 *       # ...

\***************************************************************************/

 

函數頭部注釋

使用XML文檔型注釋,即///

函數內部注釋

一律使用 //

 

 

2. 代碼設計規範

函數功能:只做一件事,但是要做好。

參數處理:所有傳遞過來的參數都需要用Assert斷言保證其正確性。

      如:Assert( p != NULL );     Assert( s.length > 3 );

錯誤處理:只用作Debug用途的輸出資訊代碼等均需要嵌套在以下預先處理語句中。

    #if _DAIDAI_DEBUG_

      // 這裡是debug相關代碼

    #endif

 

Tips:

  • 使用Ctrl+K+C注釋成片代碼,Ctrl+K+U取消注釋。
  • 善用程式碼片段和代碼環繞:

    可以嘗試輸入#region後再按兩下Tab鍵。

    輸入fore後按兩下Tab鍵再按Tab修改。

    按#if後再按兩下Tab鍵。

    選中一片代碼後右鍵菜單中選擇Surround with...再選擇 try或#region。

  • 使用F12和Ctrl+'-'在代碼中導航。
  • 使用右鍵Refractor功能表項目:比如用Encapsulate field來封裝類內私人成員。
  • 使用右鍵Reslove功能表項目加入命名空間。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.