.net(C#)的命名規范
本文從類、類字段、方法屬性、參數常量、接口、事件、命名空間等9個方面總結了C#語言命名的規則。
下面介紹C#語言命名的9種規范:
a)類
【規則1-1】使用Pascal規則命名類名,即首字母要大寫。
【規則1-2】使用能夠反映類功能的名詞或名詞短語命名類。
【規則1-3】不要使用“I”、“C”、“_”等特定含義前綴。
【規則1-4】自定義異常類應以Exception結尾。
【規則1-5】文件名要能反映類的內容,最好是和類同名。
b) 類字段
【規則2-1】用camel規則來命名類成員變量名稱,即首單詞(或單詞縮寫)小寫。
【規則2-2】類字段變量名前可加“_”前綴。
【規則2-3】堅決禁止在普通變量前加“m_”(這是VC老命名規則)。
c)方法
【規則3-1】方法名采用Pascal規則,第一個字符要大寫。
【規則3-2】方法名應使用動詞或動詞短語。
【規則3-3】類中訪問修飾符或功能相同的方法應該放在一起, 且公共或實現接口的方法在前。
d)屬性
【規則4-1】使用名詞定義屬性,屬性使用Pascal規則,首字符大寫。
【規則4-2】屬性和相應字段名稱要關聯,可以使用“重構”菜單來生成屬性。
e)參數
【規則5-1】參數采用camel規則命名,且首字符小寫。
【規則5-2】使用描述性參數名稱,參數名稱應當具有最夠的說明性。
【規則5-3】不要給參數加匈牙利語類型表示法的前綴。
【規則5-4】檢查方法所有輸入參數的有效性。
f)常量
【規則6-1】只讀常量使用Pascal命名規則,即首字母大寫。
【規則6-2】枚舉名使用Pascal規則命名,枚舉成員本質屬於常量,命名規則同上。
【規則6-3】枚舉值從小到大順序定義。
【規則6-4】靜態字段或屬性采用Pascal規則,即首字符大寫。
g)接口
【規則7-1】接口定義使用Pascal規則,且必須以大寫“I”開頭。
【規則7-2】接口名稱要有意義,中間不要有下划線“_”等字符。
【規則7-3】如果類實現了接口,名稱盡量和接口相同,只是省掉“I”字符。
h)事件
【規則8-1】委托名稱采用Pascal規則,即首字符大寫。
【規則8-2】定義事件的委托要使用EventHandler后綴,且包括sender和e兩個參數。
【規則8-3】事件用到的參數類,名稱要帶EventArgs后綴。
i) C#語言命名空間
【規則9-1】命名空間名稱采用Pascal規則,且首字符大寫。
【規則9-2】命名空間名稱盡量反映其內容所提供的整體功能。
總結:
命名空間,類,事件,接口,常量,屬性,方法使用Pascal命名,即首字母大寫
參數,變量(類字段)使用camel命名法,即首字母小寫。
Pascal 方式——所有單詞第一個字母大寫,其他字母小寫。
Camel 方式——除了第一個單詞,所有單詞第一個字母大寫,其他字母小寫。
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 |
drelMasterDetail |
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 |
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 |
MaskedTextBox |
masktxt |
masktxtBithday |
3 WebControl 命名規范
數據類型 |
數據類型簡寫 |
標准命名舉例 |
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 |
vale |
valeEmail_Validator |
Repeater |
rpt |
rptQueryResults |
RequiredFieldValidator |
valr |
valrFirstName |
Table |
tbl |
tblCountryCodes |
TableCell |
tblc |
tblcGermany |
TableRow |
tblr |
tblrCountry |
TextBox |
txt |
txtFirstName |
ValidationSummary |
vals |
valsFormErrors |
GridView |
gv |
gvStudentList |