C# 編碼規則
一、命名
1.用pascal規則來命名方法和類型.
public class TextBox
{
public void DataBind()
{
}
}
2.用camel規則來命名局部變量和方法的參數.
string userName;
public AddUser(string userId, byte[] passWord);
3.所有的成員變量前加前綴 _
public class Database
{
private string _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等等(除用於For循環變量中可使用i,j,k,l,m,n).
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;
}
}