天天看點

C#命名規則和開發習慣

C# Coding Standard

一、命名

1.用pascal規則來命名方法和類型.

public class TextBox

{

     public void DataBind() 

     {

     }

}

2.用camel規則來命名局部變量和方法的參數.

string userName;

public AddUser(string userId, byte[] password);

3.所有的成員變量前加字首 m_

public class Database

{

     public string m_connectionString;

}

4.接口的名稱加字首 I.

interface ICompare

{

     int compare();

}

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

public class AuthorAttribute : Attribute

{

}

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

public class AppException : Exception

{

}

7.方法的命名.一般将其命名為動賓短語.

ShowDialog()

CreateFile()

GetPath()

8.代碼的縮進.要用Tab,而不要用space.

9.局部變量的名稱要有意義.不要用x,y,z等等.

string userName

10.所有的成員變量聲明在類的頂端,用一個換行把它和方法分開.

11.用有意義的名字命名namespace,如:産品名、公司名.

12.建議局部變量在最接近使用它時再聲明.

13.使用某個控件的值時,盡量命名局部變量.

14.把引用的系統的namespace和自定義或第三方的分開.

15.檔案名要能反應類的内容,最好是和類同名,一個檔案中一個類.

16.目錄結構中要反應出namespace的層次.

17.大括号"{"要新起一行.

public class AuthorAttribute : Attribute

{

}

二、編碼習慣.

1.用C#預定義的類名,而不要用别名.

string userName;   而不是 System.String userName;

int number;            而不是 System.Int32;

2.一行不要超過80個字元.

3.盡量不要手工更改機器生成的代碼,若必須更改,一定要改成和機器生成的代碼風格一樣.

4.關鍵的語句(包括聲明關鍵的變量)必須要寫注釋.

5.文字常量和數字常量不要寫死,應該用常量類或枚舉代替.

6.不要用goto系列語句.

7.不要聲明public和protected的成員變量,應用property.

8.不要聲明public的event,應用事件通路器.

public class Source

{

     private EventHandler m_NumberChangeEvent;

     public event EventHandler NumberChangeEvent

     {

         add

         {

              m_NumberChangeEvent += value;

         }

         remove

         {

              m_NumberChangeEvent -= value;

         }

     }

}

9.類型轉換的使用規則.

Animal animal = new Dog();

Dog dog = animal as Dog;

if (dog != null)

{

}

10.生成和建構一個長的字元串時,一定要使用StringBuilder,而不用string.

11.始終使用"{  }"包含if下的語句,即使隻有一條語句.

12.switch語句一定要有default來處理意外情況.

13.盡量不要使用三目運算符 ? : ,而要使用if語句.

14.盡量不用使用this引用,除非是要調用類中的另一個Constructor.

public class Person

{

     public Person(string name)

     {

     }

     public Person() : this("Jim")

     {

     }

}