C#命名规范
为了增强程序的可读性,那么就要有好的命名规范。在此,将从网上搜集到的资料一并汇集到这里,方便查阅。
1、ADO.NET命名规范
数据类型 | 简写 | 标准命名举例 |
Connection | con | conNorthwind |
Command | cmd | cmdReturnProducts |
Parameter | parm | parmProductID |
DataAdapter | dad | dadProducts |
DataReader | dtr | dtrProducts |
DataSet | dst | dstNorthWind |
DataTable | dtbl | dtblProduct |
DataRow | drow | drowRow98 |
DataColumn | dcol | dcolProductID |
DataRelation | drel | drelMasterDetai |
DataView | dvw | dvwFilteredProducts |
2、WinForm Control 命名规范
数据类型 | 简写 |
标准命名举例 |
Label | lbl | lblMessage |
LinkLabel | llbl | llblToday |
Button | btn | btnSave |
TextBox | txt | txtName |
MainMenu | mmnu | mmnuFile |
CheckBox | chk | chkStock |
RadioButton | rbtn | rbtnSelected |
GroupBox | gbx | gbxMain |
PictureBox | pic | picImage |
Panel | pnl | pnlBody |
DataGrid | dgrd | dgrdView |
ListBox | lst | lstProducts |
CheckedListBox | clst | clstChecked |
ComboBox | cbo | cboMenu |
ListView | lvw | lvwBrowser |
TreeView | tvw | tvwType |
TabControl | tctl | tctlSelected |
DateTimePicker | dtp | dtpStartData |
HscrollBar | hsb | hsbImage |
VscrollBar | vsb | vsbImage |
Timer | tmr | tmrCount |
ImageList | ilst | ilstImage |
ToolBar | tlb | tlbManage |
StatuBar | stb | stbFootPrint |
OpenFileDialog | odlg | odlgFile |
SaveFileDialog | sdlg | sdlgSave |
FoldBrowserDialog | fgdlg | fgdlgBrowser |
FontDialog | fdlg | fdlgFoot |
ColorDialog | cdlg | cdlgColor |
PrintDialog | pdlg |
pdlgPrint |
3、WebControl命名规范
数据类型 | 简写 | 标准命名举例 |
AdRotator | adrt | adrtExample |
Button | btn | btnSubmit |
Calendar | cal | calMettingDates |
CheckBox | chk | chkBlue |
CheckBoxList | chkl | chklFavColors |
CompareValidator | valc | valcValidAge |
CustomValidator | valx | valxDBCheck |
DataGrid | dgrd | dgrdTitles |
DataList | dlst | dlstTitles |
DropDownList | drop | dropCountries |
HyperLink | lnk | lnkDetails |
Image | img | imgAuntBetty |
ImageButton | ibtn | ibtnSubmit |
Label | lbl | lblResults |
LinkButton | bltn | lbtnSubmit |
ListBox | lst | lstCountries |
Panel | pnl | pnlForm2 |
PlaceHolder | plh | plhFormContents |
RadioButton | rad | radFemale |
RadioButtonList | radl | radlGender |
RangeValidator | valg | valgAge |
RegularExpression | vale | valeEmailValidator |
Repeater | rpt | rptQueryResults |
RequiredFieldValidator | valr | valrFirstName |
Table | tbl | tblCountryCodes |
TableCell | tblc | tblcGermany |
TableRow | tblr | tblrCountry |
TextBox | txt | txtFirstName |
ValidationSummary | vals | valsFormErrors |
XML | xmlc | xmlcTransformResults |
4、三种变量命名法
a.帕斯卡命名法 举例:MyData,它的每一个单词的首字母均为大写
b.骆驼命名法 举例:myData,它的第一个单词的首字母小写,后面单词的首字母大写,看起来像一个骆驼
c.匈牙利命名法 举例:iMyData,它的小写i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途
5、变量命名规范
a.内联变量:必须以骆驼Camel命名法命名
举例:uName,uPass;
b.类变量(成员变量):必须以骆驼Camel命名法命名,同时一定要以一个下划线开始
举例:_mySqlConn;
6、常量命名规范
a.带有私有访问修饰的常量必须以骆驼命名法声明,并以一个下划线开始
举例:private int _SHOW_COUNT=20;
b.带有公有修饰符、受保护修饰符的常量必须以帕斯卡命名法声明
举例:protected int COUNT=20;
7、数组命名规范
数组必须以骆驼命名法声明
举例:string[5] nameArray;
string[] nameArray=new string[5];
int[] userAge={20,30,21,22};
8、结构命名规范
结构必须以帕斯卡命名法声明,用词或者短语作为声明的首选
举例:public struct StructName{
//结构体
}
9、枚举命名规范
枚举必须以帕斯卡命名法声明,用词或者短语则为声明的首选
举例:public enum WeekDays{
//结构体
}
10、其他命名规范
a.用Pascal命名法命名方法和类型
举例:public class TextBox
{
public void DataBind()
{
}
}
b.用Camel规则来命名局部变量和方法的参数
举例:string userName;
public AddUser(string userId,byte[] password);
c.所有成员变量前加前缀m_
举例:public class Database
{
public string m_connectionString;
}
d.接口的名称加前缀I
举例:interface ICompare
{
int compare();
}
e.自定义的属性以Attribute结尾
举例:public class AuthorAttribute:Attribute
{
}
f.自定义的异常以Exception结尾
举例:public class AppException:Exception
{
}
g.方法的命名。一般将其命名为动词短语
举例:ShowDialog();
CreateFile();
GetPath();
h.代码的缩进要用Tab,而不要用space
i.局部变量的名称要有意义,不要用x、y、z等等
举例:string userName
j.所有的成员变量声明在类的顶端,用一个换行把它和方法分开
k.用有意义的名字名称namespace,如:产品名、公司名等
l.建议局部变量在最接近使用它时再声明
m.使用某个控件的值时,尽量命名局部变量
n.把引用的系统namespace和自定义或第三方的分开
o.文件名要能反应类的内容,最好是和类同名,一个文件中一个类
p.目录结构中要反映出namespace的层次
q.大括号“}”要新起一行
举例:public class AuthorAttribute:Attribute
{
}