.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 |
