1.用Pascal規則來命名方法和類名。
public class HelloWorld
{
public void SayHello(string name)
{
}
}
Pascal規則是指名稱中單詞的首字母大寫 ,如EmployeeSalary、 ConfimationDialog、PlainTextEncoding。
2.用Camel規則來命名局部變量和方法的參數.
public class Product
{
private string _productId;
private string _productName;
public void AddProduct(string productId,string productName)
{
}
}
Camel規則類似於Pascal規則 ,但名稱中第一個單詞的首字母不大寫 ,如employeeSalary、 confimationDialog、plainTextEncoding。
3.合理使用下劃線_
。私有成員變量前加_
前綴,局部變量和方法參數不要使用_
前綴,盡量不要在變量中間使用下劃線。如,Data_Base這樣寫比較別扭。
public class DataBase
{
private string _connectionString;
}
4.為了區分局部變量和方法參數,方法參數可以以小寫m
開頭。
5.接口的名稱一般以大寫I
作前綴。
public interface IConvertible
{
byte ToByte();
}
6.自定義的屬性以Attribute
結尾。
public class TableAttribute:Attribute
{
}
7.自定義的異常以Exception結尾。
public class NullEmptyException:Exception
{
}
8.方法的命名。一般將其命名為動賓短語。
public class File
{
public void CreateFile(string filePath)
{
}
public void GetPath(string path)
{
}
}
9.局部變量的名稱要有意義。不要直接用用i
,j
,k
,l
,m
,n
,x
,y
,z
等做變量名,但for循環除外。
10.所有的成員變量聲明在類的頂端,用一個換行把它和方法分開。同時可以使用成對的#region...#endregion
標記,方便折疊。
public class Product
{
#region 私有變量
private string _productId;
private string _productName;
#endregion
public void AddProduct(string productId,string productName)
{
}
}
11.布爾型變量或者方法一般可以用is
、can
或者has
做前綴。如,isFinished, canWork等。
12.建議局部變量在最接近使用它時再聲明。
13.一般C#的編碼風格要求花括號{
另起一行,不要直接跟在類名和方法後面。
public Sample()
{
// TODO: 在此處添加構造函數邏輯
}
14.可以用縮寫作為UI元素的前綴。常見UI組件的一般縮寫形式:
Label --> lbl、Text --> txt、Button --> btn
Image --> img、 Widget --> Wgt、 List --> lst、CheckBox --> chk
Hyperlink --> lnk、Panel --> pnl、Table --> tab
ImageButton --> imb
15.判斷條件是一個布爾變量時不要使用==
進行條件判斷。
// 不友好的寫法
private bool _isFinished = true;
if(_isFinished == true)
{
// ...
}
// 正確的寫法
private bool _isFinished = true;
if(_isFinished)
{
// ...
}
16.變量名是一個單詞的盡量不要縮寫,多單詞組成的變量名可適當縮寫。
17.如果一個方法超過25行,就需要考慮是否可以重構和拆分成多個方法。方法命名要見名知意,好的方法名可以省略多余的注釋。方法功能盡量單一。
參考文章:http://www.dofactory.com/reference/csharp-coding-standards