c#命名規範(轉載)

出處:腳本之家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

相關文章
相關標籤/搜索