C#命名規(guī)則和開(kāi)發(fā)習(xí)慣
2024-07-21 02:19:10
供稿:網(wǎng)友
c# coding standard
一、命名
1.用pascal規(guī)則來(lái)命名方法和類型.
public class textbox
{
public void databind()
{
}
}
2.用camel規(guī)則來(lái)命名局部變量和方法的參數(shù).
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結(jié)尾
public class authorattribute : attribute
{
}
6.自定義的異常以exception結(jié)尾
public class appexception : exception
{
}
7.方法的命名.一般將其命名為動(dòng)賓短語(yǔ).
showdialog()
createfile()
getpath()
8.代碼的縮進(jìn).要用tab,而不要用space.
9.局部變量的名稱要有意義.不要用x,y,z等等.
string username
10.所有的成員變量聲明在類的頂端,用一個(gè)換行把它和方法分開(kāi).
11.用有意義的名字命名namespace,如:產(chǎn)品名、公司名.
12.建議局部變量在最接近使用它時(shí)再聲明.
13.使用某個(gè)控件的值時(shí),盡量命名局部變量.
14.把引用的系統(tǒng)的namespace和自定義或第三方的分開(kāi).
15.文件名要能反應(yīng)類的內(nèi)容,最好是和類同名,一個(gè)文件中一個(gè)類.
16.目錄結(jié)構(gòu)中要反應(yīng)出namespace的層次.
17.大括號(hào)"{"要新起一行.
public class authorattribute : attribute
{
}
二、編碼習(xí)慣.
1.用c#預(yù)定義的類名,而不要用別名.
string username; 而不是 system.string username;
int number; 而不是 system.int32;
2.一行不要超過(guò)80個(gè)字符.
3.盡量不要手工更改機(jī)器生成的代碼,若必須更改,一定要改成和機(jī)器生成的代碼風(fēng)格一樣.
4.關(guān)鍵的語(yǔ)句(包括聲明關(guān)鍵的變量)必須要寫(xiě)注釋.
5.文字常量和數(shù)字常量不要硬編碼,應(yīng)該用常量類或枚舉代替.
6.不要用goto系列語(yǔ)句.
7.不要聲明public和protected的成員變量,應(yīng)用property.
8.不要聲明public的event,應(yīng)用事件訪問(wèn)器.
public class source
{
private eventhandler m_numberchangeevent;
public event eventhandler numberchangeevent
{
add
{
m_numberchangeevent += value;
}
remove
{
m_numberchangeevent -= value;
}
}
}
9.類型轉(zhuǎn)換的使用規(guī)則.
animal animal = new dog();
dog dog = animal as dog;
if (dog != null)
{
}
10.生成和構(gòu)建一個(gè)長(zhǎng)的字符串時(shí),一定要使用stringbuilder,而不用string.
11.始終使用"{ }"包含if下的語(yǔ)句,即使只有一條語(yǔ)句.
12.switch語(yǔ)句一定要有default來(lái)處理意外情況.
13.盡量不要使用三目運(yùn)算符 ? : ,而要使用if語(yǔ)句.
14.盡量不用使用this引用,除非是要調(diào)用類中的另一個(gè)constructor.
public class person
{
public person(string name)
{
}
public person() : this("jim")
{
}
}