C#常用的命名规则汇总
本文详细汇总了c#常用的命名规则。分享给大家供大家参考。具体如下:
pascal 规则
每个单词开头的字母大写(如 testcounter).
camel 规则
除了第一个单词外的其他单词的开头字母大写. 如. testcounter.
upper 规则
仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用pascal规则.
例如:
{
public const pi = ...
public const e = ...
public const feigenbaumnumber = ...
}
具体的规则总结如下:
类命名指导
- 类名应该为名词及名词短语,尽可能使用完整的词.
- 使用pascal规则
- 不要使用类前缀 - 不要使用下划线字符 (_)。
- 有时候需要提供以字母 i 开始的类名称,虽然该类不是接口。只要 i 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 identitystore 就是适当的。
- 在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,applicationexception 对于从名为 exception 的类派生的类是适当的名称,原因是 applicationexception 是一种 exception。请在应用该规则时进行合理的判断。例如,button 对于从 control 派生的类是适当的名称。尽管按钮是一种控件,但是将 control 作为类名称的一部分将使名称不必要地加长。
接口命名规则
- 接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (example icomponent or ienumberable)
- 使用pascal规则
- 使用字符i为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)
例如:
{
int compare();
}
枚举命名规则
- 对于 enum 类型和值名称使用 pascal 大小写。
- 少用缩写。
- 不要在 enum 类型名称上使用 enum 后缀。
- 对大多数 enum 类型使用单数名称,但是对作为位域的 enum 类型使用复数名称。
- 总是将 flagsattribute 添加到位域 enum 类型。
变量命名
- 在简单的循环语句中计数器变量使用 i, j, k, l, m, n
- 使用 camel 命名规则
方法命名
- 使用pascal规则
- 对方法名采用一致的动词/宾语或宾语/动词顺序。例如,将动词置于前面时,所使用的名称诸如 insertwidget 和 insertsprocket;将宾语置于前面时,所使用的名称诸如 widgetinsert 和 sprocketinsert。
- 推荐名称应该为动词或动词短语.例如save,savecustomer,而不要使用customersave
- 不要在方法中重复类的名称。例如,如果某个类已命名为 book,则不要将某个方法称为 book.closebook,而可以将方法命名为 book.close。
属性命名
- 名称应该为名词及名词短语
- 使用pascal规则
- 对于bool型属性或者变量使用is(is)作为前缀,不要使用flag后缀,例如应该使用isdeleted,而不要使用deleteflag
集合命名
- 名称应该为名词及名词短语
- 使用pascal规则
- 名称后面追加“collection”
事件命名
- event handlers命名使用 eventhandler 后缀.
- 两个参数分别使用 sender 及 e
- 使用pascal规则
- 事件参数使用eventargs 后缀
- 事件命名使用语法时态反映其激发的状态,例如 changed,changing.
- 考虑使用动词命名. 变量命名
- 在简单的循环语句中计数器变量使用 i, j, k, l, m, n
- 使用 camel 命名规则
自定义的属性以attribute结尾
{
}
自定义的异常以exception结尾
{
}
其它常用的编码规则
代码的缩进。要用tab,而不要用space.
局部变量的名称要有意义。不要用x,y,z等等(除用于for循环变量中可使用i,j,k,l,m,n)。
所有的成员变量声明在类的顶端,用一个换行把它和方法分开。
用有意义的名字命名namespace,如:产品名、公司名。
始终使用"{ }"包含if下的语句,即使只有一条语句。
把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion。
命名规范的总结用表格表示如下:
与类相关:
标识符 |
大小写 |
示例 |
类/结构 |
pascal |
appdomain |
枚举类型 |
pascal |
errorlevel |
枚举值 |
pascal |
fatalerror |
事件 |
pascal
|
valuechange |
异常类 |
pascal |
webexception 注意 总是以 exception 后缀结尾。 |
只读的静态字段 |
pascal |
redvalue |
接口 |
pascal |
idisposable 注意 总是以 i 前缀开始。 |
集合 |
pascal |
customercollection 注意 总是以collection结束 |
方法 |
pascal |
tostring |
命名空间 |
pascal |
system.drawing |
参数 |
camel |
typename |
属性 |
pascal |
backcolor |
受保护的实例字段 |
camel |
redvalue 注意 很少使用。属性优于使用受保护的实例字段。 |
公共实例字段 |
pascal |
redvalue 注意 很少使用。属性优于使用公共实例字段。 |
变量和方法参数命名:根据不同的数据类型前缀+首字母大写的变量描述
与变量命名相关
类型 |
前缀 |
示例 |
array |
arr |
arrshoppinglist |
boolean |
bln |
blnispostback |
byte |
byt |
bytpixelvalue |
char |
chr |
chrdelimiter |
datetime |
dtm |
dtmstartdate |
decimal |
dec |
decaverageheight |
double |
dbl |
dblsizeofuniverse |
integer |
int |
introwcounter |
long |
lng |
lngbillgatesincome |
object |
obj |
objreturnvalue |
short |
shr |
shraverage |
single |
sng |
sngmaximum |
string |
str |
strfirstname |
与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 |
drelmasterdetail |
dataview |
dvw |
dvwfilteredproducts |
与页面控件有关
数据类型 |
数据类型简写 |
标准命名举例 |
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 |
dtpstartdate |
hscrollbar |
hsb |
hsbimage |
vscrollbar |
vsb |
vsbimage |
timer |
tmr |
tmrcount |
imagelist |
ilst |
ilstimage |
toolbar |
tlb |
tlbmanage |
statusbar |
stb |
stbfootprint |
openfiledialog |
odlg |
odlgfile |
savefiledialog |
sdlg |
sdlgsave |
foldbrowserdialog |
fbdlg |
fgdlgbrowser |
fontdialog |
fdlg |
fdlgfoot |
colordialog |
cdlg |
cdlgcolor |
printdialog |
pdlg |
pdlgprint |
与页面控件有关
数据类型 |
数据类型简写 |
标准命名举例 |
adrotator |
adrt |
example |
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 |
lbtn |
lbtnsubmit |
listbox |
lst |
lstcountries |
panel |
pnl |
pnlform2 |
placeholder |
plh |
plhformcontents |
radiobutton |
rad |
radfemale |
radiobuttonlist |
radl |
radlgender |
rangevalidator |
valg |
valgage |
regularexpression_r |
vale |
valeemail_validator |
repeater |
rpt |
rptqueryresults |
requiredfieldvalidator |
valr |
valrfirstname |
table |
tbl |
tblcountrycodes |
tablecell |
tblc |
tblcgermany |
tablerow |
tblr |
tblrcountry |
textbox |
txt |
txtfirstname |
validationsummary |
vals |
valsformerrors |
xml |
xmlc |
xmlctransformresults |
希望本文所述对大家的c#程序设计有所帮助。