C#代碼規範(未完成版)

來源:互聯網
上載者:User

標籤:

一、檔案命名

  1  檔案名稱

  檔案名稱統一使用帕斯卡命名法,以C#類名命名,拓展名小寫。

  樣本:

GameManager.cs

 

  2  檔案注釋

  每個檔案頭須包含注釋說明。

  樣本:

// 檔案名稱:GameStatusMachine.cs
//// 檔案功能描述://// 遊戲狀態機器基類指令碼,用於讀寫全域遊戲狀態,發送遊戲狀態以調控遊戲情境切換等//// 建立標識:taixihuase 20150327//// 修改標識:taixihuase 20150328// 修改描述:// 在遊戲狀態枚舉GameStatus中添加枚舉值LoginStatus,表示登入狀態//// 修改標識:// 修改描述://

  檔案頭注釋遵循以下規則。

  規則1:檔案頭注釋中的檔案功能僅需簡述。

  規則2:建立標識或修改標識由建立者或修改者及日期組成。

  規則3:同一天內同一個人多次對檔案修改只需做一個修改標識,同一天內不同人對檔案進行修改則需另做一個修改標識。

  規則4:注釋統一用雙左斜杆,不要用C風格注釋,避免雜亂注釋如一行星號填充空位,保持注釋整潔

  規則5:必要時,在多項注釋內容段之間使用內容為空白的注釋,而非使用空行

 

二、代碼風格

 

  1  列寬

 

  編寫代碼時切換到螢幕高解析度,以1440*900解析度下Visual Studio 2013為例,在代碼縮放為100%時,代碼控制在110列以內。

 

  2  換行

 

  當運算式超出或即將超出列寬時,遵循以下換行規則。

  規則1:在操作符前換行。

  規則2:在逗號後換行,優先於規則1。

  規則3:使用IDE內建的換行,而非手動換行,此規則優先順序最高。

 

  3  縮排

  每行開頭使用一個Tab,佔4個字元長度。不要直接敲入4個空格,而應使用Tab鍵。但不能使用Tab定位字元,而應在IDE中設定縮排大小為4,以及轉換Tab。以Visual Studio 2013為例,方法如下:

  工具->選項->文字編輯器->C#->定位字元->插入空格

 

  4  空行

  使用空行將邏輯相關的代碼進行分塊,提高代碼的可閱讀性。

  空行的使用遵循以下規則。

  規則1:在類以上層級之間使用兩個空行。

    1.  介面與介面、類與類、介面與類的定義之間。

    2.  枚舉與介面、枚舉與類的定義之間。

    3.  命名空間與命名空間之間。

  規則2:在類內層級之間使用一個空行。

    1.  變數與變數、方法與方法、屬性與屬性、方法與屬性、方法與欄位之間。

    2.  變數聲明與語句之間。

    3.  方法中不同邏輯塊之間。

    4.  方法中返回語句與其他語句之間。

    5.  屬性與跟該屬性不相對應的欄位之間。

    6.  注釋與其他由多條非備註陳述式組成、共同處理某一邏輯的程式碼片段之間。

  規則3:在類內緊密關聯內容之間不使用空行。

    1.  注釋與其他注釋之間。

    2.  屬性與跟該屬性相關聯的欄位之間。

    3.  注釋與跟該注釋對應的欄位、屬性、方法、介面、類及命名空間。

  樣本:

// 這是一個C#代碼規範命名空間namespace CSharpStyleGuide{    // 這是一個介面    interface INothing    {        void Nothing();    } // interface INothing
// 這是第一個樣本類 class FirstSampleClass { private static string className = "FirstSampleClass"; private int property;  // 這是一個私人欄位,這裡用了行章節附註釋允許的兩種情況之一,另一種與右括弧關聯 public int Property { get { return property; } set { property = value; } } public int AnotherProperty { get; set; } // 預設建構函式 // 帶一個預設參數value,預設值為0 FirstSampleClass(int value = 0) { Property = value; } public int GetValue() { // 顯示提示資訊 Console.WriteLine("這個類的類名為" + className); Console.WriteLine("這個類儲存的值大小為:"); // 單行顯示值 Console.WriteLine(Property); return Property; } public virtual void SetValue(int value) { this.Property = value; } } // class FirstSampleClass // 在這個類內設定主方法入口 class Program { static void Main(string[] args) { // 暫時不做任何事 } } // class Program} // namespace CSharpStyleGuide

 

  5  空格

  優先使用IDE內建的縮排功能來填補空格,空格遵循以下規則。

  規則1:關鍵字及左括弧之間用空格隔開。

  樣本:

    while (true)

  規則2:方法名與左括弧之間不使用空格。

  樣本:

    ShowSample();

  規則3:多個參數用逗號隔開,每個逗號後添加一個空格。

  樣本:

    CompareValue(lhs, rhs);

  規則4:除了.和->之外,二元運算子與其運算元之間用空格隔開,一元運算子不用空格隔開。

  樣本:

    a += b;    a = a / (a + b);    a++;

  規則5:語句中的運算式用空格隔開。

  樣本:

    for (int i = 0; i < 100; ++i)

  規則6:注釋左斜杆後與注釋的內容之間用空格隔開

  樣本:

    // 這句注釋前有個空格

 

  6  括弧

  圓括弧:使用圓括弧首先需遵循使用空格的規則,其次,在沒有必要的情況下,不要在return語句使用圓括弧。

  樣本:

    return ERROR;

  花括弧:使用時遵循以下的要求。

  規則1:左花括弧放在關鍵字或方法名的下一行並與之對齊。

  規則2:左花括弧與右花括弧對齊。

  規則3:花括弧單獨成行,不與任何語句並列一行。

  規則4:if、else、while、do等語句後必須使用花括弧,即使內部為空白或僅有一條語句,這樣便於擴充內容和快速搜尋。

  規則5:當代碼塊較長(將近或者超出一螢幕),此時建議在右花括弧後添加註釋,以便於找到對應的允入準則,注釋與右花括弧之間空出一格

  樣本:

    while (true)    {        if (isOk)        {            return OK;        }        else        {            // Do Somthing here.            return ERROR;        } // isOK is False    } // true

 

 

 

 

 

 

 

 

 

 

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.