出處:腳本之家html
連接:http://www.jb51.net/article/57163.htm程序員
注重代碼書寫的程序員應該是一個比較有修養的人,下面這些命名規則不必定要絕對聽從,但值得參考。在應用規則express
時要進行合理的判斷。ui
Pascal 規則(帕斯卡命名)
每一個單詞開頭的字母大寫(如 TestCounter).
Camel 規則(大駝峯和小駝峯命名)
除了第一個單詞外的其餘單詞的開頭字母大寫. 如. testCounter.編碼
Upper 規則
僅用於一兩個字符長的常量的縮寫命名,超過三個字符長度應該應用Pascal規則.例如:spa
public class Math { public const PI = ... public const E = ... public const FeigenBaumNumber = ... }
具體的規則總結以下:
類命名指導.net
- 類名應該爲名詞及名詞短語,儘量使用完整的詞
- 使用Pascal規則
- 在適當的地方,使用複合單詞命名派生的類。派生類名稱的第二個部分應當是基類的名稱。code
例如,ApplicationException 對於從名爲 Exception 的類派生的類是適當的名稱,緣由是 ApplicationExceptionorm
是一種 Exception。xml
請在應用該規則時進行合理的判斷。
例如,Button 對於從 Control 派生的類是適當的名稱。儘管按鈕是一種控件,可是將 Control 做爲類名稱的一部
分將使名稱沒必要要地加長。
接口命名規則
- 接口名稱應該爲名詞及名詞短語或者描述其行爲的形容詞,儘量使用完整的詞。
枚舉命名規則
- 對於 Enum 類型和值名稱使用 Pascal 大小寫
- 少用縮寫
- 不要在 Enum 類型名稱上使用 Enum 後綴
- 對大多數 Enum 類型使用單數名稱,可是對做爲位域的 Enum 類型使用複數名稱。
- 老是將 FlagsAttribute 添加到位域 Enum 類型
變量命名
- 使用 Camel 命名規則
- 在簡單的循環語句中計數器變量使用 i, j, k, l, m, n
方法命名
- 使用Pascal規則
- 對方法名採用一致的動詞/賓語或賓語/動詞順序
例如,將動詞置於前面時,所使用的名稱諸如 InsertWidget 和 InsertSprocket;將賓語置於前面時,所使用的名
稱諸如 WidgetInsert 和 SprocketInsert,在此推薦前者。
- 不要在方法中重複類的名稱
例如,若是某個類已命名爲 Book,則不要將某個方法稱爲 Book.CloseBook,而能夠將方法命名爲 Book.Close。
屬性命名
- 名稱應該爲名詞及名詞短語
- 使用Pascal規則
- 對於bool型屬性或者變量使用Is(is)做爲前綴,不要使用Flag後綴,例如應該使用IsDeleted,而不要使用DeleteFlag
集合命名
- 名稱應該爲名詞及名詞短語
- 使用Pascal規則
- 名稱後面追加「Collection」
(我的以爲表明集合的類後面加Collection,表明集合的變量後面加List)
事件命名
- event handlers命名使用 EventHandler 後綴
- 兩個參數分別使用 sender 及 e
- 使用Pascal規則
- 事件參數使用EventArgs 後綴
- 事件命名使用語法時態反映其激發的狀態,例如 Changed,Changing
- 考慮使用動詞命名. 變量命名
其它經常使用的編碼規則
- 代碼的縮進。要用Tab,而不要用space
- 局部變量的名稱要有意義。不要用x,y,z等等(除用於For循環變量中可以使用i,j,k,l,m,n)
- 全部的成員變量聲明在類的頂端,用一個換行把它和方法分開
- 用有意義的名字命名namespace,如:產品名、公司名
- 把類似的內容放在一塊兒,好比數據成員、屬性、方法、事件等,並適當的使用#region…#endregion
自定義的屬性以Attribute結尾
public class AuthorAttribute : Attribute { }
自定義的異常以Exception結尾
public class AppException : Exception { }
命名規範的總結用表格表示以下:
與類相關:
標識符 |
大小寫 |
示例 |
類/結構 |
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 |
與頁面控件有關(html標籤)
數據類型 |
數據類型簡寫 |
標準命名舉例 |
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 |
與頁面控件有關(html標籤)
數據類型 |
簡寫 | 舉例 |
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 |