编码命名规范(.NET)(很全-很实用)
- 格式:doc
- 大小:53.00 KB
- 文档页数:9
编码命名规范(.NET)(很全,很实用)
一、命名约定
1.常用命名术语说明
Pascal命名格式将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用Pascal 大小写。例如:BackColor
Camel命名格式标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:backColor
2.名称空间命名
创建命名空间的名称时应使用以下原则:
“公司名称.技术名称.软件产品代号”或“公司名称.产品技术代号”
例如:Nd.ClassLibrary.Charting 命名空间就表示Nd公司里的公用类库里的Charting画图类库。
又如:Net91com.Movies.DataAccess 名称空间标识电影站的数据访问层程序集。
3.类命名
使用完整的单词,避免用缩写。比如ButtonGrid比BtnGrd要长,但是完整从而可读性好。
一般使用名词。类通常表示一种对象,而对象一般使用具有名词性质的名称。
异常类命名:类以Exception结尾,
比如class EQException: Exception{}
4.局部变量命名
私有字段、函数参数和函数内部声明的变量使用camel Casing
不使用的是用以指明字段作用域的前缀。如s_作为共享字段或静态字段的前缀,以及把g_作为全局变量的前缀。
不使用用以指明数据类型的匈牙利前缀表示法,如(strReturn)。在Microsoft Visual Studio .NET环境中,只要在代码编辑器中将鼠标移到域名上,就可以得到关于字段或变量的类型信息。另外,类型前缀限制了开发者在需要时改变变量的类型的能力,或者更糟糕的是,开发者改变了变量的类型,却没有为变量重新命名,从而产生具有误导性的代码。
5.只读静态变量
Pascal大小写
6.类私有变量
_ + Pascal大小写。如:_BackColor
7.属性命名
使用Pascal Casing。
属性名称通常都是名词。例如Text、SelectedIndex和Width。
8.接口命名
使用Pascal Casing。
在接口名称前缀添加前缀I 。
接口名称尽量具有描述性,并使用形容词,因为接口常常用于给一个类添加某种能力。基于形容词的名称有IComparable和IFormattable等
9.方法命名
使用Pascal Casing。
方法名通常是动词。方法实现一个对象的行为功能。方法执行某些操作。方法名的例子有Read、Write、Start和Stop。
当重载方法时,参数的顺序和命名要一致。
定义方法名时不要使用缩写。
方法参数Camel大小写结构
10.事件命名
使用Pascal Casing。
事件名称通常是动词。比如Click、Load和Paint
11.枚举类型
使用Pascal Casing。如:EQFormatConditionOperator。枚举值也是Pascal,比如EQFormatConditionOperator. Equal
12.委托命名delegate
AfterOperationHandler,总是以Handler为后缀结尾
13.类对象命名
使用obj前缀+Pascal命名的方式,来告知我们这个变量是一个对象
比如:EQApplication objApp = new EQApplication();
14.Attribute
Pascal大小写,并以Attribute结尾
17.注意:
不要使用两个字母一样,但大小写不一样的命名来做命名空间,否则在一些不区分大小写的语言里将不能正确区分这些命名空间声明。例如:namespace ee.cummings和namespace EE.cummings这两个声明
不要使用大小写区分参数的形式来创建方法。比如:void MyFunction(string a,string A) 不要使用大小写的不同来分别命名一个属性。比如:
int Color { get,set }
int COLOR { get,set }
不要使用大小写的不同来分别命名一个方法的名字。比如:
void calculate()
void Calculate()
不要使用标志名称的一部分作为该标志名称的缩写或简写。比如:GetWindow简写为GetWin。
尽量避免用缩写方式来对方法的参数命名,即方法的参数命名尽量保持完整,让人一目了然。
尽量避免就一个字母的命名,如i 或t,而用index 或temp
二、代码格式化
1.{}的位置
{与}各单独占一行。例如:
if(x > 5)
{
//代码
}
2.if、if else的格式
if(condition)
{
DoSomething();
}
if(condition)
{
DoSomething();
}
else
{
DoSomethingOther();
}
if(condition)
{
DoSomething();
}
else if(condition)
{
DoSomethingOther();
}
else
{
DoSomethingOtherAgain();
}
3.for、foreach的格式
//for格式
for(int i = 0; i < 5; ++i)
{
// 代码
}
//foreach的格式