C#常用的命名规范

时间:2022-09-01 12:21:51

C#常用的命名规则

Pascal 规则

每个单词开头的字母大写(如 TestCounter).

Camel 规则

除了第一个单词外的其他单词的开头字母大写. 如. testCounter.

Upper 规则

仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用Pascal规则.

例如:

public class Math

{

public const PI = ...

public const E = ...

public const FeigenBaumNumber = ...

}

具体的规则总结如下

类命名指导

- 类名应该为名词及名词短语,尽可能使用完整的词.

- 使用Pascal规则

- 不要使用类前缀 - 不要使用下划线字符 (_)。

- 有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore 就是适当的。

- 在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原因是 ApplicationException 是一种 Exception。请在应用该规则时进行合理的判断。例如,Button 对于从 Control 派生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。

接口命名规则

- 接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (Example IComponent or IEnumberable)

- 使用Pascal规则

- 使用字符I为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)

例如:

interface ICompare
{
int Compare();
}

枚举命名规则

- 对于 Enum 类型和值名称使用 Pascal 大小写。

- 少用缩写。

- 不要在 Enum 类型名称上使用 Enum 后缀。

- 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。

- 总是将 FlagsAttribute 添加到位域 Enum 类型。

 变量命名

- 在简单的循环语句中计数器变量使用 i, j, k, l, m, n

- 使用 Camel 命名规则

方法命名

- 使用Pascal规则

- 对方法名采用一致的动词/宾语或宾语/动词顺序。例如,将动词置于前面时,所使用的名称诸如 InsertWidget 和 InsertSprocket;将宾语置于前面时,所使用的名称诸如 WidgetInsert 和 SprocketInsert。

- 推荐名称应该为动词或动词短语.例如Save,SaveCustomer,而不要使用CustomerSave

- 不要在方法中重复类的名称。例如,如果某个类已命名为 Book,则不要将某个方法称为 Book.CloseBook,而可以将方法命名为 Book.Close。

属性命名

- 名称应该为名词及名词短语

- 使用Pascal规则

- 对于bool型属性或者变量使用Is(is)作为前缀,不要使用Flag后缀,例如应该使用IsDeleted,而不要使用DeleteFlag

集合命名

- 名称应该为名词及名词短语

- 使用Pascal规则

- 名称后面追加“Collection”

事件命名

- event handlers命名使用 EventHandler 后缀.

- 两个参数分别使用 sender 及 e

- 使用Pascal规则

- 事件参数使用EventArgs 后缀

- 事件命名使用语法时态反映其激发的状态,例如 Changed,Changing.

- 考虑使用动词命名. 变量命名

- 在简单的循环语句中计数器变量使用 i, j, k, l, m, n

- 使用 Camel 命名规则

自定义的属性以Attribute结尾
public class AuthorAttribute : Attribute
{
}

自定义的异常以Exception结尾
public class AppException : Exception
{
}

其它常用的编码规则

  1. 代码的缩进。要用Tab,而不要用space.
  2. 局部变量的名称要有意义。不要用x,y,z等等(除用于For循环变量中可使用i,j,k,l,m,n)。
  3. 所有的成员变量声明在类的顶端,用一个换行把它和方法分开。
  4. 用有意义的名字命名namespace,如:产品名、公司名。
  5. 始终使用"{ }"包含if下的语句,即使只有一条语句。
  6. 把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region…#endregion。
 
 
命名规范的总结用表格表示如下:
 
与类相关:
 

标识符

大小写

示例

类/结构

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

与页面控件有关

数据类型

数据类型简写

标准命名举例

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

与页面控件有关

数据类型

数据类型简写

标准命名举例

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#常用的命名规范的更多相关文章

  1. Vue中 几个常用的命名规范

    1,组件名 官方推荐的组件名是 每个单词首字母大写(PascalCase) 或者 全小写用 - 连接(kebab-case) . 在DOM中使用的时候, 改为全小写, 单词之间用 - 连接. Vue. ...

  2. (一)Qt5模块,QtCreator常用快捷键,命名规范

    常用快捷键 1)帮助文件:F1 (光标在函数名字或类名上,按 F1 即可跳转到对应帮助文档,查看其详细用法) 2).h 文件和对应.cpp 文件切换:F4 3)编译并运行:Ctrl + R 4)函数声 ...

  3. c#基础学习(0625)之vs常用快捷键、基础数据类型、命名规范

    vs常用快捷键 Ctrl+K+D:快速对齐代码 Ctrl+z:撤销 Ctrl+S:保存 Ctrl+J:快速弹出只能提示 Shift+End:从行首快速选中整行 Shift+Home:从行未快速选中整行 ...

  4. day03变量的命名规范,常量,输出:自带换行,输入,注释,数据类型,运算符,常用字符大小关系

    复习 ''' 1.语言的分类 -- 机器语言:直接编写0,1指令,直接能被硬件执行 -- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行 -- 高级语言:编写人能识别的字符, ...

  5. CSS命名规范(规则)常用的CSS命名规则

    CSS命名规范(规则)常用的CSS命名规则   CSS命名规范(规则)常用的CSS命名规则   头:header   内容:content/container   尾:footer ...

  6. VS.NET中的常用控件和类型的命名规范

    表1  命名规范 VS名称 简写 VS名称 简写 数据类型 Array arr Boolean bln Byte byt Char Chr Date Time dtm Decimal dtm Doub ...

  7. 常用的CSS命名规范大总结

    转载: http://www.php.cn/toutiao-417563.html 文本命名规范 index.css: 一般用于首页建立样式 head.css: 头部样式,当多个页面头部设计风格相同时 ...

  8. js的命名规范

                   js的命名规范   1.驼峰命名法:首字母是小写的,接下来的字母都以大写字符开头.例如: var testValue = 0; var oneValue = 10; 2. ...

  9. [html] 有利于seo优化的div+css命名规范

    搜索引擎优化(seo)对命名规范有很多要求,下面是我收集的一些当下主流的命名(还是比较常用的): CSS样式命名 说明 网页公共命名 #wrapper 页面外围控制整体布局宽度 #container或 ...

随机推荐

  1. Xcode 安装插件手误选择了「Skip Bundle」后需要重新允许「Load Bundle」的解决方法

    在 Mac 终端输入命令: # 这里的7.1代表 Xcode 的版本号 defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugI ...

  2. flex 添加右键链接

    private var myMenu:ContextMenu; private function setViewerVersion():void { var menuItem:ContextMenuI ...

  3. 遍历数组按学号找人,若找到则输出信息,否则输出"查无此人"

    //建立一个类类型的数组,并向这个数组内添加学生信息,包括姓名和年龄等 **********************学生类************************** package prac ...

  4. AngularJS1.X学习笔记11-服务

    如果我没记错的话,spring里边有个service层.什么是服务呢?个人理解就是很多地方要用的,可以跨越控制器甚至是跨越模块的工具.AngularJS也为我们提供了服务这种机制,这让我们可以将一些不 ...

  5. 查看CPU使用率

    rem 如果wmi服务(服务名为Winmgmt)坏掉了,需要到system32\webm目录下执行如下注释的命令 rem for %i in (*.dll) do RegSvr32 -s %i rem ...

  6. bzoj千题计划121:bzoj1033: [ZJOI2008]杀蚂蚁antbuster

    http://www.lydsy.com/JudgeOnline/problem.php?id=1033 经半个下午+一个晚上+半个晚上 的 昏天黑地调代码 最终成果: codevs.洛谷.tyvj上 ...

  7. 安装部署VMware vSphere 5.5文档 (6-3) 安装配置AD域控制器

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

  8. Android 开机Process xxx (pid xxxx) has died问题分析

    系统中有一个监听BOOT_COMPLETED广播的自启应用,概率性出现启动后被kill掉的现象.Log如下: - :: I ActivityManager: Process com.test.xxx ...

  9. MySQL----MySQL数据库入门----第四章 单表查询

    select [distinct] * | 字段1,字段2,字段3... from 表名 [where 条件表达式] [group by 字段名] [having 条件表示式] [order by 字 ...

  10. Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset Trie

    题目链接: http://codeforces.com/contest/706/problem/D D. Vasiliy's Multiset time limit per test:4 second ...