C#的各種命名規范


Pascal 規則(帕斯卡命名)
每個單詞開頭的字母大寫(如 TestCounter).
 
Camel 規則(大駝峰和小駝峰命名)
除了第一個單詞外的其他單詞的開頭字母大寫. 如. testCounter.

Upper 規則(大寫)
僅用於一兩個字符長的常量的縮寫命名,超過三個字符長度應該應用Pascal規則.例如:const A=...;const AB..

具體的規則總結如下(非原創):
 
類命名指導

- 類名應該為名詞及名詞短語,盡可能使用完整的詞
- 使用Pascal規則
- 在適當的地方,使用復合單詞命名派生的類。派生類名稱的第二個部分應當是基類的名稱。

     例如,ApplicationException 對於從名為 Exception 的類派生的類是適當的名稱,原因是 ApplicationException

  是一種 Exception。

  請在應用該規則時進行合理的判斷。

    例如,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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
分類:  c#, 轉載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM