C#常用的命名规范

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

时间: 2024-08-29 08:51:18

C#常用的命名规范的相关文章

Vue中 几个常用的命名规范

1,组件名 官方推荐的组件名是 每个单词首字母大写(PascalCase) 或者 全小写用 - 连接(kebab-case) . 在DOM中使用的时候, 改为全小写, 单词之间用 - 连接. Vue.component('MyComponent', {}): 或者 Vue.component('my-component', {});import MyComponent from 'MyComponent.vue'; export default { name: 'MyComponent' } 在

常用html、CSS、javascript前端命名规范

常用html.CSS.javascript前端命名规范 无意发现自己文件夹里面有这么一个文件,具体从哪里来的不记得了,仔细看下,发现总结的挺好的,贴出来分享一下. 无论是从技术角度还是开发视角,对于web前端开发规范文档都有一定规范,本文就css3和html5的发展前景总结了一系列的web开发文档,仅供大家参考. 规范目的: 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本

常用的css命名规范

XHTML-CSS写作建议 1.所有的xhtml代码小写: 2.属性的值一定要用双引号("")括起来,且一定要有值: 3.每个标签都要有开始和结束,且要有正确的层次: 4.空元素要有结束的tag或于开始的tag后加上"/": 5.表现与结构完全分离,代码中不涉及任何的表现元素,如style.font.bgColor.border等: 6.<h1>到<h5>的定义,应遵循从大到小的原则,体现文档的结构,并有利于搜索引擎的查询: 7.给每一个表格

CSS命名规范

html页面的CSS.DIV命名规则 CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:

Android 你不可不看的命名规范

标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与单词间用下划线做间隔,如:foo_bar; 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量,首字母小写说明该变量的类型. 量的取名方式为:scope_ prefix_qualifier 范围前缀,类型前缀,限定词,如:g_foo_bar; 安卓App层开发主要是Java语言,所

Android开发必备:命名规范

标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与单词间用下划线做间隔,如:foo_bar; 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量,首字母小写说明该变量的类型. 量的取名方式为:scope_ prefix_qualifier 范围前缀,类型前缀,限定词,如:g_foo_bar; 安卓App层开发主要是Java语言,所

关于命名规范、维度明细层及集市汇总层设计的思考

在SN做仓库项目,根据自己负责的内容及SN的一些规范等,将这一阶段的模型工作进行一个思考和总结. 一.仓库字段.表等命名的规范 数据仓库建设目的,其中重要的一个方面就是建立统一的全局视图:表.字段等的规范命名就是仓库全局视图一个方面的体现. 在进行规范命名的时候,一般会根据<数据建模字段简写命名规范.xlsx>来进行.<规范>中有的词组,对应的表及字段按照<规范>进行命名:有的字段词组在<规范>中没有,则需要在<规范>中新加.完善和补充.新增加的

代码书写规范和命名规范

上一篇给大家分享了一下,关于文档编写的几个概念.这篇文章阐述如果编写代码书写规范以及命名规范文档.[以java语言为例] 1.代码书写规范 代码书写规范,能够让不同的人,写出相同风格的代码.很多人都看过java源代码,你会发现java源代码的整体风格几乎是一致的,但是你要知道编写源代码的人是很多的,如何才能让他们写出同一风格的代码呢?这就是代码书写规范的作用. 代码书写规范描述的是如何从头到尾书写代码(自己定义的).通俗点讲就是如何书写java文件.就像你写毕业论文一样,从头到尾每个细节都是有要

【翻译】苹果官网的命名规范之 Naming Properties and Data Types

苹果官方原文:Naming Properties and Data Types 前言:纯属练习英语和学习.翻译错误和不通顺的地方敬请谅解和指正.O(∩_∩)O 属性和数据类型的命名 本节讲述了属性定义.变量.常量.通知和异常的常用命名规范. l 定义属性和变量 一个属性定义会影响该属性的访问方法的定义.所以属性的命名规范大体上和访问器(getter,setter)的命名规范是一致的.如果一个属性是表达一个名词或者动词,那么定义如下: @property(…) type nounOrVerb 例如