![编码命名规范NET很全很实用_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/b60478d0-f28f-49fa-8e47-bcc736e20f38/b60478d0-f28f-49fa-8e47-bcc736e20f381.gif)
![编码命名规范NET很全很实用_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/b60478d0-f28f-49fa-8e47-bcc736e20f38/b60478d0-f28f-49fa-8e47-bcc736e20f382.gif)
![编码命名规范NET很全很实用_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/b60478d0-f28f-49fa-8e47-bcc736e20f38/b60478d0-f28f-49fa-8e47-bcc736e20f383.gif)
![编码命名规范NET很全很实用_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/b60478d0-f28f-49fa-8e47-bcc736e20f38/b60478d0-f28f-49fa-8e47-bcc736e20f384.gif)
![编码命名规范NET很全很实用_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/b60478d0-f28f-49fa-8e47-bcc736e20f38/b60478d0-f28f-49fa-8e47-bcc736e20f385.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编码命名规范(.NET)(很全,很实用)一、命名约定1.常用命名术语说明 Pascal命名格式 将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用 Pascal 大小写。例如:BackColor Camel命名格式 标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:backColor2.名称空间命名 创建命名空间的名称时应使用以下原则: “公司名称.技术名称.软件产品代号”或“公司名称.产品技术代号” 例如:Nd.ClassLibrary.Charting 命名空间就表示Nd公司里的公用类库里的Charting画图类库。 又如:Net91com.
2、Movies.DataAccess 名称空间标识 91.COM 电影站的数据访问层程序集。3.类命名使用完整的单词,避免用缩写。比如ButtonGrid比BtnGrd要长,但是完整从而可读性好。 一般使用名词。类通常表示一种对象,而对象一般使用具有名词性质的名称。 异常类命名:类以Exception结尾, 比如class EQException: Exception4.局部变量命名 私有字段、函数参数和函数内部声明的变量使用camel Casing 不使用的是用以指明字段作用域的前缀。如 s_作为共享字段或静态字段的前缀,以及把g_作为全局变量的前缀。 不使用用以指明数据类型的匈牙利前缀表示法
3、,如(strReturn)。在Microsoft Visual Studio .NET环境中,只要在代码编辑器中将鼠标移到域名上,就可以得到关于字段或变量的类型信息。另外,类型前缀限制了开发者在需要时改变变量的类型的能力,或者更糟糕的是,开发者改变了变量的类型,却没有为变量重新命名,从而产生具有误导性的代码。5.只读静态变量 Pascal大小写6.类私有变量 _ + Pascal大小写。如:_BackColor7.属性命名使用Pascal Casing。 属性名称通常都是名词。例如Text、SelectedIndex和Width。8.接口命名 使用Pascal Casing。 在接口名称前缀添
4、加前缀 I 。 接口名称尽量具有描述性,并使用形容词,因为接口常常用于给一个类添加某种能力。基于形容词的名称有IComparable和IFormattable等9.方法命名 使用Pascal Casing。 方法名通常是动词。方法实现一个对象的行为功能。方法执行某些操作。方法名的例子有Read、Write、Start和Stop。 当重载方法时,参数的顺序和命名要一致。 定义方法名时不要使用缩写。 方法参数 Camel大小写结构10.事件命名 使用Pascal Casing。 事件名称通常是动词。比如Click、Load和Paint11.枚举类型使用Pascal Casing。如:EQForma
5、tConditionOperator。枚举值也是Pascal,比如EQFormatConditionOperator. Equal12.委托命名delegate AfterOperationHandler,总是以Handler为后缀结尾13.类对象命名 使用obj前缀Pascal命名的方式,来告知我们这个变量是一个对象 比如:EQApplication objApp = new EQApplication();14.Attribute Pascal大小写,并以Attribute结尾15.控件命名ButtonbtnbtnOKCalendarcalCheckBoxchkchkReadOnlyChe
6、ckBoxListchklCompareValidatorvalcCustomValidatorvalxDataGridgridDataListlistDropDownListddlHyperLinklnkImageimgImageButtonibtnLabellblLinkButtonlbtnListBoxlstPanelpnlRadioButtonradRadioButtonListradlRangeValidatorvalgRegularExpressionvaleRequiredFieldValidatorvalrTabletblTableCelltblcTableRowtblrTex
7、tBoxtxttxtLastNameValidationSummaryvals 16.其它命名ConnectionconnCommandcmdParameterparamDataAdapteradptDataReaderdrDataSetdsDataTabledtDataRowrowDataColumncolDataRelationrelDataViewdv17.注意: 不要使用两个字母一样,但大小写不一样的命名来做命名空间,否则在一些不区分大小写的语言里将不能正确区分这些命名空间声明。例如:namespace ee.cummings和namespace EE.cummings这两个声明 不要
8、使用大小写区分参数的形式来创建方法。比如:void MyFunction(string a, string A) 不要使用大小写的不同来分别命名一个属性。比如: int Color get,set int COLOR get,set 不要使用大小写的不同来分别命名一个方法的名字。比如: void calculate() void Calculate() 不要使用标志名称的一部分作为该标志名称的缩写或简写。比如:GetWindow简写为GetWin。 尽量避免用缩写方式来对方法的参数命名,即方法的参数命名尽量保持完整,让人一目了然。 尽量避免就一个字母的命名,如 i 或 t,而用 index 或
9、 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
10、的格式 foreach(int i in IntList) / 代码 4.whileswitch的格式 /while格式 while(condition) / 代码 /switch的格式 switch(condition) case A: . break; case B: . break; default: . break; 5.try的格式 try . catch(Exception e) . /或者 try . catch(Exception e) . finally . 6.空格 对于有两个或两个以上空格时,一般不要使用空格来表示缩进,使用Tab 逗号、分号之后有一个空格 如:TestM
11、ethod(a, b, c); 操作符前后有一个空格,但是单目运算符除外(例如: !运算符)。 如:for(int i = 0; i 10; +i)7.在执行统一任务的各个语句组之间插入一个空行。8.名称空间写法,各类名称空间插入空行,同一类命命空间按字母序号排列 如: using System; using System.Text; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.
12、SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using net91com.Movies.DataAccess; using net91com.Movies.Business; using net91com.CommonComponent;三、代码注释1.注释的目的 a. 文字说明代码的作用 (即为什么要用编写该代码,而不是如何编写); b. 确指出该代码的编写思路和逻辑方法 ; c. 人们注意到代码中的重要转折点 ; d. 使代码的阅读
13、者不必在他们的头脑中仿真运行代码的执行方法2.对类文件进行属性注释说明 /= / 公司: / 项目名称: / 模块名称: / 开发人员: / 开发日期: / 功能简介: / 最后修改时间: / 修改人员: /=3.避免对很显然易懂的语句进行注释说明4.代码应该能作到自我解释代码作用的功能。5.注释来说明何时可能出错和为什么出错6.在编写代码前进行注释,给类、属性或方法前面加上功能注释7.注释的内容 a.实参/ 参数 参数类型 , 参数用来做什么, 任何约束或前提条件b.字段/属性 字段描述 , 注释所有使用的不变量, 并行事件可见性决策 c.类 类的目的 ,已知的问题 , 类的开发/维护历史
14、, 注释出采用的不变量 , 并行策略 d.接口 目的 它应如何被使用以及如何不被使用 e.局部变量 用处/目的f.成员函数注释 成员函数做什么以及它为什么做这个 哪些参数必须传递给一个成员函数 成员函数返回什么 已知的问题 任何由某个成员函数抛出的异常 可见性决策 成员函数是如何改变对象的 包含任何修改代码的历史 如何在适当情况下调用成员函数的例子适用的前提条件和后置条件 g.成员函数内部注释 控制结构 代码做了些什么以及为什么这样做 局部变量 难或复杂的代码 处理顺序8.增强注释的可读性 a. 使用完整的语句。 b. 避免使用缩写。 c. 将整个单词大写,以突出它们的重要性。9.请在每个if
15、语句/switch语句/循环语句的前面加上注释四、类/接口成员设计1.设计类和方法时的原则 创建更加容易调试和维护的方法 创建具有强大内聚力的类 创建高度专用的方法 创建松散连接的方法 尽量使方法具有独立性 提高方法的扇入性 降低方法的扇出性2.名称空间引用 using 声明一律以.NET基础框架命名空间、第三方组件命名空间、最后是公司内部产品命名空间排序。using System; using System.Collections; using Microsoft.CSharp; using Sirc.Egss.FileExchangeServer;3.成员排列规则 尽量不要使用类publi
16、c变量,用属性代替 类成员以internal、private、protected、public排列。public部分按照构造函数、属性、方法、事件的顺序排列。4.每个类文件名应尽量保持与内部类名一致5.尽量避免手动去修改工具环境自动生成的代码6.避免在一个类文件里放置多个类7.一个类文件里应该有且仅有一个命名空间,避免在一个类文件里包含多个不同的命名空间8.避免在一个类文件里代码超过 500 行(除去自动生成的代码)9.数据结构里,应该总是更倾向使用C#的范型generic10.尽量缩小变量的作用域11.接口设计 将接口名去掉 I 前缀后,作为这种默认实现类的名称。比如IComponent的默
17、认实现类是Component 每个接口不应当有超过20个成员的情况,一般应保持在12个左右12.方法设计 创建松散连接和高度专用的方法 创建方法时,设法将每个方法视为一个黑箱,其他例程不应要求了解该方法的内部工作情况,该方法也不应要求了解它外面的工程情况。这就是为什么你的方法应依靠参数而不应依靠全局变量的原因。 a.将复杂进程放入专用方法。 b.将专用方法中可能要修改的代码隔离。 c.将数据输入/输出(I/O)放入专用方法。 d.将业务规则封装在专用方法中。 e.有返回值的方法必须在方法命名里包含对该返回值的信息描述,如GetObjectStat()。 f.局部变量的声明,应尽可能紧靠在它首次
18、被使用的地方 g.一个方法里的代码避免超过 25 行,最多不能超过 50 行(除去空行、注释) h.一行代码最多不要超过 80 个字符 i.避免使用强制转换,推荐使用as操作符进行防御性转换 j.当需要创建一个长字符串时,推荐使用StringBuilder,而非string k.避免使用不易理解的数字,用有意义的标识来替代(枚举和常量)13.属性设计避免使用返回数组的属性。这些属性会降低程序的效率 不要提供public或protected型的成员变量,而应当使用属性替代之 五、数据库设计规范数据库名 Pascal Casing命名规则 以名词命名,直观,可读性强表名 Pascal Casing
19、命名规则 应以完整单词命名,避免使用缩写。 数据字典以“dic_表名”来命名字段命名 Pascal Casing命名规则 以表名_字段名进行命名存储过程命名 全部大写 以UP_表名_操作进行命名视图命名 全部大写 以VIEW_功能进行命名触发器命名 全部大写 以TR_功能进行命名主键命名 全部大写 以PK_表名_列名进行命名外键命名 全部大写 以FK_从表名_表名_主表名进行命名Check约束命名 全部大写 以CK_表名_列名进行命名索引命名 全部大写 以IDX_表名_列名进行命名 1、命名约定Pascal和Camel命名约定编程的命名方式主要有Pascal和Camel两种(Pascal:每个
20、单词的首字母大写,例如ProductType;Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType)以下是一些常用的C#成员及其推荐命名方法: 标志符规则实例与描述类classPascalApplication枚举类型enumPascal记住,是以Pascal命名,切勿包含Enum,否则FXCop会抛出Issue委托delegatePascal以Pascal命名,不以任何特殊字符串区别于类名、函数名常量const全部大写全部大写,单词间以下划线隔开接口interfacePascalIDisposable 注:总是以 I 前缀开始,后接Pascal命名方法funct
21、ionPascalToString命名空间namespacePascal以.分隔,当每一个限定词均为Pascal命名方式,比如:using ExcelQuicker.Framework参数Camel首字母小写局部变量Camel也可以加入类型标识符,比如对于System.String类型,声明变量是以str开头,string strSQL = string.Empty;数据成员Camel以m开头Pascal命名规则,如mProductType(m意味member)属性Pascal1.1、局部变量命名在primitive的局部变量命名时,使用Camel命名规则,比如:int type = 0;do
22、uble count = 0;对于string类型定义,通常使用str前缀Pascal命名的方式,比如string strSql = ; /这是一种典型的命名SQL语句字符串的方式。而对于此外的类型对象定义,通常的做法是使用obj前缀Pascal命名的方式,来告知我们这个变量是一个对象。或者也可以直接使用类名的Camel命名规则。比如:Application objApplication = new Application();Application application = new Application();1.2、参数命名Camel命名规则,首字母小写1.3、类数据成员/属性命名数据成
23、员命名以Camel命名方式,而属性以Pascal命名。通常如果数据成员与属性成对的话,数据成员与属性的命名区别仅在于变量名的第一个字母是小写还是大写。比如class Appcalitionprivate ArrayList worksheetCollection = new ArrayList();public ArrayList WorksheetCollectiongetreturn this.worksheetCollection;另外,类的成员数据/方法调用时,应该加上this限定符,this在编辑环境中是蓝色的,更利于我们区分局部变量、参数或静态变量,并且利于FXCop检测区分。(如
24、果使用FxCop扫描和检测代码的话)1.4、命名空间命名在dot之间的各限定字符串符合Pascal格式1.5、委托缩写委托的命名方式我常常以Pascal命名,并且在命名的后面加EventHandler比如public delegate void MouseEventHandler (object sender, MouseEventArgs e); /用于处理与鼠标相关的事件或委托对于自定义的委托,其参数第一个建议仍然使用object sender,sender代表触发这个时间或委托的源对象。而第二个参数继承于EventArgs类,并且在派生类中实现自己的业务逻辑。1.6、自定义异常类自定义异
25、常类以Exception结尾,并且在类名中能清楚的描述出该异常的原因。比如NotFoundFileException,描述出了某个实体(文件、内存区域等)无法被找到。1.7、枚举枚举的命名是Pascal命名,不需要在枚举中加入Enum,枚举的名称能清楚的表明该枚举的用途。1.8、常量命名全部大写,单词间并且以下划线间隔,如public const int LOCK_SECONDS = 3000; 虽然在MSDN中常量的命名推荐使用Pascal,但是从C+沿袭的命名规则来看,将常量全部大写更加能清楚的表示常量与普通变量之间的区别。1.9、命名缩写在一般情况下,不推荐缩写命名,不要担心变量命名长,
26、长的变量名能使变量的意义更加清晰,其实从长变量名的负面作用三,因为Ctrl+C和Ctrl+V加上在VS中的智能感知,其负面追用已经很小。变量命名的原则是,尽最大努力让其他人在看到我们的变量/函数/等的第一时间,大概能猜出它是做什么的。比如:int productTypeCount = 0; /我们在第一时间就能知道它是记录产品的数量的变量而对于糟糕的命名方式:int prodTypeCount = 0; /它是productTypeCount的简写,我们一部分人也许知道prod是product的缩写,但是每人能保证所有的人都知道它。我个人认为:最优秀的代码它本身就是注释。作为一流的程序员。并不
27、仅仅实现功能,而是要让我们的代码更加优美,具备让他人维护或今后扩充的能力。作为现在的业务系统,其门槛的准入水平已大大降低,实现功能上的需求已没有什么难度,但是高手和菜鸟的区别在于,高手的代码通俗易懂,在整个编码的过程中,不仅能考虑到性能、还会考虑代码可读性和维护性。1.10、数据库命名数据库的字段、表名的命名都推荐采用Pascal命名方式,尽量不采用缩写。当然,使用长的字段名、表名,可能会使SQL语句的编写带来负面影响。我推荐大家可以使用一些ORM,ORM的性能肯定不会比直接写SQL的好,但是如果做业务系统,更重要的是系统多久能交付用户使用,ORM不仅使开发时间可以缩短不少,并且在后期的维护上
28、也比直接写SQL便利很多。2、注释规范2.1、文件头部注释在代码文件的头部进行注释,这样做的好处在于,我们能对代码文件做变更跟踪。在代码头部分标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的开发和修改。样本:/* 作者: Eunge* 创始时间:2004-6-8* 修改人:Lucy* 修改时间:2004-12-9* 修改人:Lucy* 修改时间:2005-01-29* 描述:* 主要用于产品信息的资料录入,*/2.2、函数、属性、类
29、等注释请使用/三斜线注释,这种注释是基于XML的,不仅能导出XML制作帮助文档,而且在各个函数、属性、类等的使用中,编辑环境会自动带出注释,方便你的开发。以protected,protected Internal,public声明的定义注释都建议以这样命名方法。例如:/ / 用于从ERP系统中捞出产品信息的类/ class ProductTypeCollector2.3、逻辑点注释在我们认为逻辑性较强的地方加入注释,说明这段程序的逻辑是怎样的,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG。在注释中写明我们的逻辑思想,对照程序,判断程序是否符合我们的初衷,如果不
30、是,则我们应该仔细思考耀修改的是注释还是程序了3、排版我的排版原则与建议:1、 每行语句至少占一行,如果语句过长(超过一屏),则该语句断为两行显示;2、 把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region#endregion,我最喜欢把机器生成的代码都放在一个#region里面,比如在编写ASP.NET程序时,对应自动产生的控件定义,我常用#region Automatic Generated Web Components #endregion把他们框住3、 使用空格,(1) 双目操作符的前后加空格(+, =, & 等),index = index + 1;(2
31、) 单目操作符前加空格(!, +, 等), index +;(3) 逗号、分号只在后面加空格4、 使用空行,在一段功能代码、或者函数、属性之间插入空行,这样会很直观。在Visual Studio 2005中,其实已经带有代码格式化这样的功能,快捷键是Ctrl+K - Ctrl+D。4、界面控件命名我的建议是使用默认控件名作为前缀,前缀名称全部小写,这样的好处是不必为未知的控件统一命名方式发愁,比如对于Label标签控件,有的人用缩写lbl,有的人用lab,有的人用lb。这样其实仍然是避免使用缩写,有的时候仍然会使命名变得冗长,但是命名更加能反应出变量的意义,并且各个开发人员也能更好的执行,因为
32、他们不需要去背记各个变量的缩写。protected System.Web.UI.WebControls.Button buttonQuery;protected System.Web.UI.WebControls.DropDownList dropdownlistProductType;protected System.Web.UI.WebControls.TextBox textboxManufactureDate;5、代码可读性一些建议(1)注意运算符的优先级,我们应该尽量使用括号明确表达式的操作顺序,避免使用默认优先级,给我们以及维护人带来困扰(2)避免使用不易理解的数字,用有意义的标识
33、来替代(枚举和常量)比如:if(productType = 0)else if (productType = 1)(不推荐使用)if(productType = ProductType.CD)else if (productType = ProductType.DVD)(推荐使用)(3)在界面层中尽量使用异常处理try语句,不要将系统级别的错误直接暴露给用户,而更应该的是把系统抛出的错误信息记录到LOG日志文件中去,告诉用户友好的提示信息在Visual Studio 2005里面,有代码布局格式化功能,蛮有用的。其实代码的规范是为了使系统具有整体一致的编码风格,以使后期维护人员能更快的读懂代码
34、并进行维护。我认为代码规范有其必要性,但不能因为规范而规范,从开发而言,开发是为了更快的做出稳定的系统,而稳定的系统是为了给公司带来受益。开发人员、项目管理人员都应该更多的从项目经营的角度出来,同时站在公司、客户的角度考虑问题,而不是因为代码而代码。.NET 程序的命名规则(选自msdn)一致的命名模式是托管类库中可预知性与可发现性最重要的元素之一。对这些命名指南广泛的使用和理解将消除许多最常见的用户问题。本主题提供.NET Framework 类型的命名指南。对于每个类型,还应该注意关于大写样式、区分大小写和措词的一些通用规则。1. 本节内容大写样式 描述用于在类库中命名标识符的 Pasca
35、l 大小写、Camel 大小写和全部大写样式。区分大小写描述在类库中命名标识符时所遵循的区分大小写指南。缩写描述在类型名称中使用缩写的指南。措词列出类型名称中要避免使用的关键字。避免类型名称混淆描述如何避免使用语言特定的术语以避免类型名称混淆。命名空间命名指南描述命名空间时要遵循的指南。类命名指南描述命名类时要遵守的指南。接口命名指南描述命名接口时要遵循的指南。属性命名指南 描述使用Attribute 后缀命名属性的正确方式。枚举类型命名指南 描述命名枚举时要遵守的指南。静态字段命名指南描述命名静态字段时要遵守的指南。参数命名指南描述命名参数时要遵守的指南。方法命名指南描述命名方法时要遵守的指
36、南。属性命名指南描述命名属性时要遵守的指南。事件命名指南描述命名事件时要遵守的指南。一:大写样式使用下面的三种大写标识符约定。Pascal 大小写将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用 Pascal 大小写。例如:BackColorCamel 大小写标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:backColor大写标识符中的所有字母都大写。仅对于由两个或者更少字母组成的标识符使用该约定。例如:System.IOSystem.Web.UI可能还必须大写标识符以维持与现有非托管符号方案的兼容性,在该方案中所有大写字母经常用于枚举和常
37、数值。一般情况下,在使用它们的程序集之外这些字符应当是不可见的。下表汇总了大写规则,并提供了不同类型的标识符的示例。标识符大小写方式示例类PascalAppDomain枚举类型PascalErrorLevel枚举值PascalFatalError事件PascalValueChange异常类PascalWebException注意 总是以Exception后缀结尾。只读的静态字段PascalRedValue接口PascalIDisposable注意 总是以I前缀开始。方法PascalToString命名空间PascalSystem.Drawing参数CameltypeName属性PascalBa
38、ckColor受保护的实例字段CamelredValue注意 很少使用。属性优于使用受保护的实例字段。公共实例字段PascalRedValue注意 很少使用。属性优于使用公共实例字段。二:区分大小写为了避免混淆和保证跨语言交互操作,请遵循有关区分大小写的使用的下列规则: 不要使用要求区分大小写的名称。对于区分大小写和不区分大小写的语言,组件都必须完全可以使用。不区分大小写的语言无法区分同一上下文中仅大小写不同的两个名称。因此,在创建的组件或类中必须避免这种情况。 不要创建仅是名称大小写有区别的两个命名空间。例如,不区分大小写的语言无法区分以下两个命名空间声明。 namespace ee.cum
39、mings;namespace Ee.Cummings; 不要创建具有仅是大小写有区别的参数名称的函数。下面的示例是不正确的。void MyFunction(string a, string A) 不要创建具有仅是大小写有区别的类型名称的命名空间。在下面的示例中,Point p和POINT p是不适当的类型名称,原因是它们仅在大小写方面有区别。 System.Windows.Forms.Point pSystem.Windows.Forms.POINT p 不要创建具有仅是大小写有区别的属性名称的类型。在下面的示例中,int Color和int COLOR是不适当的属性名称,原因是它们仅在大小
40、写方面有区别。 int Color get, setint COLOR get, set 不要创建具有仅是大小写有区别的方法名称的类型。在下面的示例中,calculate 和Calculate 是不适当的方法名称,原因是它们仅在大小写方面有区别。 void calculate()void Calculate()三:缩写为了避免混淆和保证跨语言交互操作,请遵循有关区缩写的使用的下列规则: 不要将缩写或缩略形式用作标识符名称的组成部分。例如,使用GetWindow,而不要使用GetWin。 不要使用计算机领域中未被普遍接受的缩写。 在适当的时候,使用众所周知的缩写替换冗长的词组名称。例如,用UI作
41、为User Interface 的缩写,用OLAP作为On-line Analytical Processing 的缩写。 在使用缩写时,对于超过两个字符长度的缩写,请使用 Pascal 大小写或Camel 大小写。例如,使用 HtmlButton 或 htmlButton。但是,应当大写仅有两个字符的缩写,如,System.IO,而不是System.Io。 不要在标识符或参数名称中使用缩写。如果必须使用缩写,对于由多于两个字符所组成的缩写请使用Camel 大小写,虽然这和单词的标准缩写相冲突。 四:措词避免使用与常用的.NET Framework 命名空间重复的类名称。例如,不要将以下任何名
42、称用作类名称:System、Collections、Forms或UI。有关.NET Framework 命名空间的列表,请参见类库。另外,避免使用和以下关键字冲突的标识符。AddHandlerAddressOfAliasAndAnsiAsAssemblyAutoBaseBooleanByRefByteByValCallCaseCatchCBoolCByteCCharCDateCDecCDblCharCIntClassCLngCObjConstCShortCSngCStrCTypeDateDecimalDeclareDefaultDelegateDimDoDoubleEachElseElseIf
43、EndEnumEraseErrorEventExitExternalSourceFalseFinalizeFinally FloatForFriendFunctionGetGetTypeGotoHandlesIfImplementsImportsInInheritsIntegerInterfaceIsLetLibLikeLongLoopMeModModuleMustInheritMustOverrideMyBaseMyClassNamespaceNewNextNotNothingNotInheritableNotOverridableObjectOnOptionOptionalOrOverlo
44、adsOverridableOverridesParamArrayPreservePrivatePropertyProtectedPublicRaiseEventReadOnlyReDimRegionREMRemoveHandlerResumeReturnSelectSetShadowsSharedShortSingleStaticStepStopStringStructureSubSyncLockThenThrowToTrueTryTypeOfUnicodeUntilvolatileWhenWhileWithWithEventsWriteOnlyXorevalextendsinstanceo
45、fpackagevar五:避免类型名称混淆不同的编程语言使用不同的术语标识基本托管类型。类库设计人员必须避免使用语言特定的术语。请遵循本节中描述的规则以避免类型名称混淆。使用描述类型的含义的名称,而不是描述类型的名称。如果参数除了其类型之外没有任何语义含义,那么在这种罕见的情况下请使用一般性名称。例如,支持将各种数据类型写入到流中的类可以有以下方法。Visual BasicSub Write(value As Double);Sub Write(value As Single);Sub Write(value As Long);Sub Write(value As Integer);Sub W
46、rite(value As Short);C#void Write(double value);void Write(float value);void Write(long value);void Write(int value);void Write(short value);不要创建语言特定的方法名称,如下面的示例所示。Visual BasicSub Write(doubleValue As Double);Sub Write(singleValue As Single);Sub Write(longValue As Long);Sub Write(integerValue As Int
47、eger);Sub Write(shortValue As Short);C#void Write(double doubleValue);void Write(float floatValue);void Write(long longValue);void Write(int intValue);void Write(short shortValue);如果有必要为每个基本数据类型创建唯一命名的方法,那么在这种极为罕见的情况下请使用通用类型名称。下表列出基本数据类型名称和它们的通用替换。C# 类型名称Visual Basic 类型名称JScript 类型名称Visual C+ 类型名称Il
48、asm.exe表示形式通用类型名称sbyteSBytesBytecharint8SBytebyteBytebyteunsigned charunsigned int8ByteshortShortshortshortint16Int16ushortUInt16ushortunsigned shortunsigned int16UInt16intIntegerintintint32Int32uintUInt32uintunsigned intunsigned int32UInt32longLonglong_int64int64Int64ulongUInt64ulongunsigned _int64
49、unsigned int64UInt64floatSinglefloatfloatfloat32SingledoubleDoubledoubledoublefloat64DoubleboolBooleanbooleanboolboolBooleancharCharcharwchar_tcharCharstringStringstringStringstringStringobjectObjectobjectObjectobjectObject例如,支持将从流读取各种数据类型的类可以有以下方法。Visual BasicReadDouble()As DoubleReadSingle()As Sin
50、gleReadInt64()As LongReadInt32()As IntegerReadInt16()As ShortC#double ReadDouble();float ReadSingle();long ReadInt64();int ReadInt32();short ReadInt16();上面的示例优先于下面的语言特定的替代方法。Visual BasicReadDouble()As DoubleReadSingle()As SingleReadLong()As LongReadInteger()As IntegerReadShort()As ShortC#double ReadDouble();float ReadFloat();long ReadLong();int ReadInt();short ReadShort();六:命名空间命名指南命名命名空间时的一般性规则是使用公司名称,后跟技术名称和可选的功能与设计,如下所示。CompanyName
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州某创新医院可行性研究报告
- 四川省成都市2024年七年级《语文》下册期中试卷与答案(C卷)
- 四川省邛崃市2022年七年级《历史》下册期末试卷与参考答案
- 成都龙泉驿区2022年七年级《数学》下册期末试卷与参考答案
- 儿科护理习题与参考答案
- 河南农业大学《地理课堂教学技能与模拟训练》2023-2024学年第二学期期末试卷
- 中原科技学院《网站搭建课程设计》2023-2024学年第二学期期末试卷
- 2025-2030年中国天然铀行业市场发展态势及前景战略研判报告
- 临床诊断复习题与参考答案
- 2025年精制芸豆项目可行性研究报告
- JJG(交通) 192-2023 负压筛析仪
- 城市更新模式探讨
- 农行网点负责人述职报告范本
- 常见军事训练伤的康复流程
- 下肢静脉曲张危险因素
- 2024年湖南高速铁路职业技术学院单招职业适应性测试题库及答案解析
- 头皮脓肿的护理查房
- 几何公差详解
- 人教版小学数学一年级(上)口算题1000道
- 急诊科管理手册
- 售后工程师的绩效考核与评估
评论
0/150
提交评论