编程的语言规范_第1页
编程的语言规范_第2页
编程的语言规范_第3页
编程的语言规范_第4页
编程的语言规范_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

杭州故乡人科技网络有限公司使用命名规则杭州故乡人科技网络有限研发2023-1、概述 42、变量命名的总原则 42.1一般性规则 42.2对特定类型数据的命名 42.3关于短名称的使用 52.4其它应当避免的命名问题 53、VisualStdio.Net(C#) 53.1大写样式 53.2区分大小写 73.3缩写 83.4措词 83.5避免类型名称混淆 93.6命名空间命名指南 113.7类命名指南 123.8接口命名指南 133.9特性命名指南 143.10枚举类型命名指南 143.11静态字段命名指南 153.12参数命名指南 153.13方法命名指南 153.14属性命名指南 163.15事件命名指南 174、代码规则 184.1Try-Catch 184.2ErrorCode 194.3IfThenElse规则 195、数据库规范 195.1数据库涉及字符规则 195.3数据库表命名规则 205.5视图命名规则 205.6存储过程命名规则 215.7数据库设计文档规则 215.8sql语句规则 216、控件命名规范 216.1C#一般控件命名规范 217、C#注释规范 257.1自建代码文献注释 267.2模块(类)注释 267.3类属性注释 277.4方法注释 277.5代码间注释 278、ASP规范说明 288.1单页编写规范: 288.2全站文献构建规范 298.3对网页制作的规定 30

1、概述系统项目的建设过程中,涉及到VisualStudio.NET、Web站点,业务对象及数据库,同时项目人员涉及设计人员、开发人员和测试人员等较多。为了保持应用程序、组件、文献的一致性,便于阅读和管理代码和结构,提高开发效率和产品的标准化,特制订一套开发规范和标准(涉及命名规范和编码规范)。好的编码约定可使源代码严谨、可读性强且语意清楚,做到与其它语言约定相一致,并且提高直观性。希望设计、开发人员严格遵守此套开发规范和标准,并贯彻到自己的设计与代码程序中。命名规范将涉及:编程命名规范、业务对象命名规范、数据库命名规范、Web站点结构命名规范等。编码规范将涉及:C#编码规范、第三方模块使用规范等本命名规范重要针对使用VisualStdio.Net(C#语言)规范,即编程命名规范部分。请注意:在项目过程中,C#将作为首选语言。2、变量命名的总原则变量命名的总原则是一个通用性的原则,本规范后续章节中的命名规则都应当符合这些总原则。2.1

一般性规则变量名称应当准确完整地描述了变量的含义名称应当反映了业务上的问题而不是技术上或编程上的解决方法名称的长度应当足够长名称的最后一部分应当有限定符应当用Count,Index或Nbr代替Num,No.2.2

对特定类型数据的命名循环计数变量的的名称应当有含义(假如循环语句的长度超过了两行或者存在着嵌套循环,尽量避免使用I,j,k之类的变量,应当使用故意义的变量)临时变量的命名应当故意义所有布尔型变量的命名可以直接从名称上看出为真的条件枚举类型的变量名称应当包含了基础类型,可以方便的分辨变量的类型。例如:用Color变量表达

ColorRed,ColorGreen枚据类型的值。命名的常量应当代表了抽象的实体而非他们所代表的值从变量命名中应当可以看出变量的作用域是局部变量,模块变量或者全局变量变量的名称中不同的单词首字母要大写,以方便阅读2.3

关于短名称的使用

假如不是绝对必须,尽量避免使用短的名称

假如变量中单词的缩写只能缩短一两个字符则使用单词的完全拼写

所有单词的缩写规则应当一致2.4

其它应当避免的命名问题

名称具有误导性

两个不同的命名具有相似的含义

不同的命名拼写很相似,仅差一两个字符

在变量名称中不应当使用数字

完全和变量含义不相关的命名3、VisualStdio.Net(C#)3.1

大写样式使用下面的三种大写标记符约定。Pascal大小写将标记符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标记符使用Pascal大小写。例如:BackColorCamel大小写标记符的首字母小写,而每个后面连接的单词的首字母都大写。例如:backColor大写标记符中的所有字母都大写。仅对于由两个或者更少字母组成的标记符使用该约定。例如:System.IOSystem.Web.UI也许还必须大写标记符以维持与现有非托管符号方案的兼容性,在该方案中所有大写字母经常用于枚举和常数值。一般情况下,在使用它们的程序集之外这些字符应当是不可见的。下表汇总了大写规则,并提供了不同类型的标记符的示例。标记符大小写示例类PascalAppDomain枚举类型PascalErrorLevel枚举值PascalFatalError事件PascalValueChange异常类PascalWebException注意总是以Exception后缀结尾。只读的静态字段PascalRedValue接口PascalIDisposable注意总是以I前缀开始。方法PascalToString命名空间PascalSystem.Drawing参数CameltypeName属性PascalBackColor受保护的实例字段CamelredValue注意很少使用。属性优于使用受保护的实例字段。公共实例字段PascalRedValue注意很少使用。属性优于使用公共实例字段。3.2

区分大小写为了避免混淆和保证跨语言交互操作,请遵循有关区分大小写的使用的下列规则:不要使用规定区分大小写的名称。对于区分大小写和不区分大小写的语言,组件都必须完全可以使用。不区分大小写的语言无法区分同一上下文中仅大小写不同的两个名称。因此,在创建的组件或类中必须避免这种情况。不要创建仅是名称大小写有区别的两个命名空间。例如,不区分大小写的语言无法区分以下两个命名空间声明。namespaceee.cummings;namespaceEe.Cummings;不要创建具有仅是大小写有区别的参数名称的函数。下面的示例是不对的的。voidMyFunction(stringa,stringA)不要创建具有仅是大小写有区别的类型名称的命名空间。在下面的示例中,Pointp和POINTp是不适当的类型名称,因素是它们仅是大小写有区别。System.Windows.Forms.PointpSystem.Windows.Forms.POINTp不要创建具有仅是大小写有区别的属性名称的类型。在下面的示例中,intColor和intCOLOR是不适当的属性名称,因素是它们仅是大小写有区别。intColor{get,set}intCOLOR{get,set}不要创建具有仅是大小写有区别的方法名称的类型。在下面的示例中,calculate和Calculate是不适当的方法名称,因素是它们仅是大小写有区别。voidcalculate()voidCalculate()3.3

缩写为了避免混淆和保证跨语言交互操作,请遵循有关区缩写的使用的下列规则:不要将缩写或缩略形式用作标记符名称的组成部分。例如,使用GetWindow,而不要使用GetWin。不要使用计算机领域中未被普遍接受的缩写。在适当的时候,使用众所周知的缩写替换冗长的词组名称。例如,用UI作为UserInterface的缩写,用OLAP作为On-lineAnalyticalProcessing的缩写。在使用缩写时,对于超过两个字符长度的缩写请使用Pascal大小写或Camel大小写。例如,使用HtmlButton或HTMLButton。但是,应当大写仅有两个字符的缩写,如,System.IO,而不是System.Io。不要在标记符或参数名称中使用缩写。假如必须使用缩写,对于由多于两个字符所组成的缩写请使用Camel大小写,虽然这和单词的标准缩写相冲突。3.4

措词避免使用与常用的.NET框架命名空间反复的类名称。例如,不要将以下任何名称用作类名称:System、Collections、Forms或UI。有关.NET框架命名空间的列表,请参阅类库。此外,避免使用和以下关键字冲突的标记符。AddHandlerAddressOfAliasAndAnsiAsAssemblyAutoBaseBooleanByRefByteByValCallCaseCatchCboolCByteCCharCDateCDecCDblCharCIntClassCLngCobjConstCShortCSngCStrCtypeDateDecimalDeclareDefaultDelegateDimDoDoubleEachElseElseIfEndEnumEraseErrorEventExitExternalSourceFalseFinalizeFinallyFloatForFriendFunctionGetGetTypeGotoHandlesIfImplementsImportsInInheritsIntegerInterfaceIsLetLibLikeLongLoopMeModModuleMustInheritMustOverrideMyBaseMyClassNamespaceNewNextNotNothingNotInheritableNotOverridableObjectOnOptionOptionalOrOverloadsOverridableOverridesParamArrayPreservePrivatePropertyProtectedPublicRaiseEventReadOnlyReDimRegionREMRemoveHandlerResumeReturnSelectSetShadowsSharedShortSingleStaticStepStopStringStructureSubSyncLockThenThrowToTrueTryTypeOfUnicodeUntilVolatileWhenWhileWithWithEventsWriteOnlyXorevalextendsinstanceofPackagevar

3.5

避免类型名称混淆不同的编程语言使用不同的术语标记基本托管类型。类库设计人员必须避免使用语言特定的术语。请遵循本节中描述的规则以避免类型名称混淆。使用描述类型的含义的名称,而不是描述类型的名称。假如参数除了其类型之外没有任何语义含义,那么在这种罕见的情况下请使用一般性名称。例如,支持将各种数据类型写入到流中的类可以有以下方法。[C#]voidWrite(doublevalue);voidWrite(floatvalue);voidWrite(longvalue);voidWrite(intvalue);voidWrite(shortvalue);不要创建语言特定的方法名称,如下面的示例所示。[C#]voidWrite(doubledoubleValue);voidWrite(floatfloatValue);voidWrite(longlongValue);voidWrite(intintValue);voidWrite(shortshortValue);假如有必要为每个基本数据类型创建唯一命名的方法,那么在这种极为罕见的情况下请使用通用类型名称。下表列出基本数据类型名称和它们的通用替换。C#类型名称VisualBasic类型名称JScript类型名称VisualC++类型名称Ilasm.exe表达形式通用类型名称sbyteSbytesBytecharint8SBytebyteBytebyteunsignedcharunsignedint8ByteshortShortshortshortint16Int16ushortUInt16ushortunsignedshortunsignedint16UInt16intIntegerintintint32Int32uintUInt32uintunsignedintunsignedint32UInt32longLonglong__int64int64Int64ulongUInt64ulongunsigned__int64unsignedint64UInt64floatSinglefloatfloatfloat32SingledoubleDoubledoubledoublefloat64DoubleboolBooleanbooleanboolboolBooleancharCharcharwchar_tcharCharstringStringstringStringstringStringobjectObjectobjectObjectobjectObject例如,支持将从流读取各种数据类型的类可以有以下方法。 [C#]doubleReadDouble();floatReadSingle();longReadInt64();intReadInt32();shortReadInt16();前面的示例优于下面的语言特定的替换。[C#]doubleReadDouble();floatReadFloat();longReadLong();intReadInt();shortReadShort();3.6

命名空间命名指南命名命名空间时的一般性规则是使用公司名称,后跟技术名称和可选的功能与设计,如下所示。CompanyName.TechnologyName[.Feature][.Design]例如:Microsoft.MediaMicrosoft.Media.Design给命名空间名称加上公司名称或者其他知名商标的前缀可以避免两个已经发布的命名空间名称相同的也许性。例如,Microsoft.Office是由Microsoft提供的OfficeAutomationClasses的一个适当的前缀。在第二级分层名称上使用稳定的、公认的技术名称。将组织层次架构用作命名空间层次架构的基础。命名一个命名空间,该命名空间包含为具有.Design后缀的基命名空间提供设计时功能的类型。例如,System.Windows.Forms.Design命名空间包含用于设计基于System.Windows.Forms的应用程序的设计器和相关的类。嵌套的命名空间应当在包含它的命名空间中的类型上有依赖项。例如:System.Web.UI.Design中的类依赖于System.Web.UI中的类。但是,System.Web.UI中的类不依赖于System.UI.Design中的类。应当对命名空间使用Pascal大小写,并用句点分隔逻辑组件,如Microsoft.Office.PowerPoint中所示。假如您的商标使用非传统的大小写,请遵循您的商标所定义的大小写,即使它与规定的Pascal大小写相背离。例如,命名空间NeXT.WebObjects和ee.cummings阐释了对于Pascal大小写规则的适当背离。假如在语义上适当,使用复数命名空间名称。例如,使System.Collections而不是System.Collection。此规则的例外是商标名称和缩写。例如,使用System.IO而不是System.IOs。不要为命名空间和类使用相同的名称。例如,不要既提供Debug命名空间也提供Debug类。最后,请注意命名空间名称不必非得与程序集名称相似。例如,假如命名程序集MyCompany.MyTechnology.dll,它没有必要非得包含MyCompany.MyTechnology命名空间。此外一种空间命名方式为使用项目途径.如App_Code.BLL,这种方式表白此空间类在APP_Code文献夹中的BLL文献夹内.3.7

类命名指南以下规则概述命名类的指南:使用名词或名词短语命名类。使用Pascal大小写。少用缩写。不要使用类型前缀,如在类名称上对类使用C前缀。例如,使用类名称FileStream,而不是CFileStream。不要使用下划线字符(_)。有时候需要提供以字母I开始的类名称,虽然该类不是接口。只要I是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称IdentityStore是适当的。在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException对于从名为Exception的类派生的类是适当的名称,因素是ApplicationException是一种Exception。请在应用该规则时进行合理的判断。例如,Button对于从Control派生的类是适当的名称。尽管按钮是一种控件,但是将Control作为类名称的一部分将使名称不必要地加长。下面是对的命名的类的示例。[C#]publicclassFileStreampublicclassButtonpublicclassString3.8

接口命名指南以下规则概述接口的命名指南:用名词或名词短语,或者描述行为的形容词命名接口。例如,接口名称IComponent使用描述性名词。接口名称ICustomAttributeProvider使用名词短语。名称IPersistable使用形容词。使用Pascal大小写。少用缩写。给接口名称加上字母I前缀,以指示该类型为接口。在定义类/接口对(其中类是接口的标准实现)时使用相似的名称。两个名称的区别应当只是接口名称上有字母I前缀。不要使用下划线字符(_)。以下是对的命名的接口的示例。[C#]publicinterfaceIServiceProviderpublicinterfaceIFormatable以下代码示例阐释如何定义IComponent接口及其标准实现Component类。[C#]publicinterfaceIComponent{//Implementationcodegoeshere.}publicclassComponent:IComponent{//Implementationcodegoeshere.}3.9

特性命名指南应当总是将后缀Attribute添加到自定义属性类。以下是对的命名的属性类的示例。[C#]publicclassObsoleteAttribute{}3.10

枚举类型命名指南枚举(Enum)值类型从Enum类继承。以下规则概述枚举的命名指南:对于Enum类型和值名称使用Pascal大小写。少用缩写。不要在Enum类型名称上使用Enum后缀。对大多数Enum类型使用单数名称,但是对作为位域的Enum类型使用复数名称。总是将FlagsAttribute添加到位域Enum类型。3.11

静态字段命名指南以下规则概述静态字段的命名指南:使用名词、名词短语或者名词的缩写命名静态字段。使用Pascal大小写。建议尽也许使用静态属性而不是公共静态字段。3.12

参数命名指南以下规则概述参数的命名指南:使用描述性参数名称。参数名称应当具有足够的描述性,以便参数的名称及其类型可用于在大多数情况下拟定它的含义。对参数名称使用Camel大小写。使用描述参数的含义的名称,而不要使用描述参数的类型的名称。开发工具将提供有关参数的类型的故意义的信息。因此,通过描述意义,可以更好地使用参数的名称。少用基于类型的参数名称,仅在适合使用它们的地方使用它们。不要使用保存的参数。保存的参数是专用参数,假如需要,可以在未来的版本中公开它们。相反,假如在类库的未来版本中需要更多的数据,请为方法添加新的重载。不要给参数名称加匈牙利语类型表达法的前缀。以下是对的命名的参数的示例。[C#]TypeGetType(stringtypeName)stringFormat(stringformat,args()Asobject)3.13

方法命名指南以下规则概述方法的命名指南:使用动词或动词短语命名方法。使用Pascal大小写。以下是对的命名的方法的实例。RemoveAll()GetCharArray()Invoke()3.14

属性命名指南以下规则概述属性的命名指南:使用名词或名词短语命名属性。使用Pascal大小写。不要使用匈牙利语表达法。考虑用与属性的基础类型相同的名称创建属性。例如,假如声明名为Color的属性,则属性的类型同样应当是Color。请参阅本主题中后面的示例。以下代码示例阐释对的的属性命名。[C#]publicclassSampleClass{publicColorBackColor{//CodeforGetandSetaccessorsgoeshere.}}以下代码示例阐释提供其名称与类型相同的属性。[C#]publicenumColor{//InsertcodeforEnumhere.}publicclassControl{publicColorColor{get{//Insertcodehere.}set{//Insertcodehere.}}}以下代码示例不对的,因素是Color属性是Integer类型的。[C#]publicenumColor{//InsertcodeforEnumhere.}publicclassControl{publicintColor{get{//Insertcodehere.}set{//Insertcodehere.}}}在不对的的示例中,不也许引用Color枚举的成员。Color.Xxx将被解释为访问一个成员,该成员一方面获取Color属性(在VisualBasic中为Integer类型,在C#中为int类型)的值,然后再访问该值的某个成员(该成员必须是System.Int32的实例成员)。3.15

事件命名指南以下规则概述事件的命名指南:对事件解决程序名称使用EventHandler后缀。指定两个名为sender和e的参数。sender参数表达引发事件的对象。sender参数始终是object类型的,即使在可以使用更为特定的类型时也如此。与事件相关联的状态封装在名为e的事件类的实例中。对e参数类型使用适当而特定的事件类。用EventArgs后缀命名事件参数类。考虑用动词命名事件。使用动名词(动词的“ing”形式)创建表达事件前的概念的事件名称,用过去式表达事件后。例如,可以取消的Close事件应当具有Closing事件和Closed事件。不要使用BeforeXxx/AfterXxx命名模式。不要在类型的事件声明上使用前缀或者后缀。例如,使用Close,而不要使用OnClose。通常情况下,对于可以在派生类中重写的事件,应在类型上提供一个受保护的方法(称为OnXxx)。此方法只应具有事件参数e,由于发送方总是类型的实例。以下示例阐释具有适当名称和参数的事件解决程序。[C#]publicdelegatevoidMouseEventHandler(objectsender,MouseEventArgse);以下示例阐释对的命名的事件参数类。[C#]publicclassMouseEventArgs:EventArgs{intx;inty;publicMouseEventArgs(intx,inty){this.x=x;this.y=y;}publicintX{get{returnx;}}publicintY{get{returny;}}}4、代码规则4.1Try-Catch在所有的非CPU和内存操作(如网络通讯(含数据库)、IO操作)、强制类型转换(如将DataRow或Cache中的object转换为特定数据类型)时必须使用在Try-Catch中包含最少的代码,不允许在try中包含对其他函数的调用每个Catch中都应当标示一种ErrorCode把必要的清理工作放在finally中!使用try的替代方案,如int.tryphrase()方法替代int.phrase()4.2ErrorCode在Biz和Biz以下层次的操作中使用ErrorCode,来表达错误在函数头部列出该函数中的所有ErrorCode值对每一次包含ErrorCode的函数调用,定义不同的int传过去,并立即进行ErrorCode的判断(假如调3个函数,应当定义了3个int,命名为”ErrorCode_for_函数名”)不要使用函数返回值作为对错标志,使用ErrorCode在Biz和Biz以下层次的操作中使用ErrorCode,来表达错误4.3IfThenElse规则假如你有用到elseif语句的话,通常最佳有一个else块以用于解决未解决到的其他情况。可以的话放一个记录信息注释在else处,即使在else没有任何的动作。其格式为:

if(条件1)//注释

{

}

elseif(条件2)//注释

{

}

else//注释

{

}

注:if和循环的嵌套最多允许4层5、数据库规范5.1数据库涉及字符规则采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线_组成,共63个字符。不能出现其他字符(注释除外)。据库对象命名规则数据库对象涉及表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。前缀:使用小写字母。例如:表tb视图vi存储过程sp函数fn

5.2实际名字实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。

例如:表User_Info视图UserList存储过程UserDelete

因此,合法的对象名字类似如下。表tbUser_Info、tbMessage_Detail视图vi_MessageList存储过程sp_MessageAdd5.3数据库表命名规则数据表规则由前缀和实际名字组成。实际名字中首单词一个系统尽量采用同一单词。

前缀:使用小写字母tb,表达表。

例如:tbMember

tbMember_Info

tbForum_Board

tbForum_Thread1

5.4字段命名规则数字、字符、日期/时间、lob(大对象)、杂项,字段由表的简称、下划线,实际名字加后缀组成。

后缀:使用小写字母,代表该字段的属性。

例如:User_Idint

User_Namestr

User_RegDatedtm5.5视图命名规则视图名称由前缀和实际名字组成,中间用下划线连接。

前缀:使用小写字母vi,表达视图。

例如:vi_User

vi_UserInfo5.6存储过程命名规则存储过程命名由前缀和实际名字组成,中间用下划线连接。

前缀:使用小写字母pro(由于使用sp代表系统存储过程命名,因此本系统将会使用pro前缀),表达存储过程。

例如:pro_User也可使用前缀_功能_表名表达存储过程.5.7数据库设计文档规则所有数据库设计要写成文档,文档以模块化形式表达。大体格式如下:

'

'表名:tbUser_Info

'建立人:UAM_Richard

'日期:2023-12-17

5.8sql语句规则所有sql关键词所有大写,比如SELECT,UPDATE,FROM,ORDER,BY等。6、控件命名规范6.1C#一般控件命名规范控件名称(标准)前缀建议首字母小写示例LabellbllblResultsTextBoxtxttxtFirstNameButtonbtnbtnSubmitLinkButtonlbtnlbtnSubmitImageButtonibtnibtnSubmitHyperLinklnklnkDetailsDropDownListdropdropCountriesListBoxlstlstCountriesCheckBoxchkchkBlueCheckBoxListchklchklFavColorsRadioButtonradradFemaleRadioButtonListradlradlGenderImageimgimgAuntBettyImageMapimgmTabletbltblCountryCodesBulletedListbltlHiddenFieldhdnLiteralltrCalendarcalcalMettingDatesAdRotatorAdrtadrtTopAdFileUploadfupWizardwzdXMLxmlcxmlcTransformResultsMultiViewmltvPanelpnlpnlForm2PlaceHolderplhplhFormContentsViewviewSubstitutionsbttLocalizelcl控件名称(数据)前缀示例GridViewgdvgdvArticlesDataListdlstdlstTitlesDetailsViewdtvFormViewfmvRepeaterrptrptQueryResultsSqlDataSourcesdsAccessDataSourceadsXmlDataSourcexdsSiteMapDataSourcemdsObjectDataSourceodsReportViewerrpv控件名称(验证)前缀示例RequiredFieldValidatorvalrvalrFirstNameRangeValidatorvalgvalgAgeRegularExpressionvalevaleEmail_ValidatorCompareValidatorvalcvalcValidAgeCustomValidatorvalxvalxDBCheckValidationSummaryvalsvalsFormErrors控件名称(导航)前缀示例SiteMapPathsmpMenumnuTreeViewtrv控件名称(登录)前缀示例LoginlgLoginViewlgvPasswordRecoverypsrLoginStatuslgsLoginNamelgnCreateUserWizardcuwChangePasswordcpw控件名称(其他)前缀示例TableCelltblctblcGermanyTableRowtblrtblrCountry7、C#注释规范C#注释规范总说明:注释规定英文及英文的标点符号(中文项目应当使用中文及中文说明)。注释中,应标明对象的完整的名称及其用途,但应避免对代码过于具体的描述。每行注释的最大长度为100个字符。将注释与注释分隔符用一个空格分开。不允许给注释加外框。编码的同时书写注释。重要变量必须有注释。变量注释和变量在同一行,所有注释必须对齐,与变量分开至少四个“空格”键。如:intm_iLevel,m_iCount;//m_iLeveltreelevel//m_iCountcountoftreeitemsstringm_strSql;//SQL典型算法必须有注释。在循环和逻辑分支地方的上行必须就近书写注释。程序段或语句的注释在程序段或语句的上一行在代码交付之前,必须删掉临时的或无关的注释。为便于阅读代码,每行代码的长度应少于100个字符。7.1自建代码文献注释对于自己创建的代码文献(如函数、脚本),在文献开头,一般编写如下通用注释:

/******************************************************

FileName:Copyright(c)2023-xxxx*********公司技术开发部

Writer:createDate:Rewriter:RewriteDate:Impact:MainContent(FunctionName、parameters、returns)

******************************************************/7.2模块(类)注释模块开始必须以以下形式书写模块注释:///<summary>///ModuleID:<模块编号,可以引用系统设计中的模块编号>///Depiction:<对此类的描述,可以引用系统设计中的描述>///Author:作者中文名///CreateDate:<模块创建日期,格式:YYYY-MM-DD>

///</summary>假如模块只进行部分少量代码的修改时,则每次修改须添加以下注释:///RewriterRewriteDate:<修改日期:格式YYYY-MM-DD>Start1:/*原代码内容*/

///End1:将原代码内容注释掉,然后添加新代码使用以下注释:///AddedbyAdddate:<添加日期,格式:YYYY-MM-DD>Start2:

///End2:假如模块输入输出参数或功能结构有较大修改,则每次修改必须添加以下注释:

///<summary>

///LogID:<Log编号,从1开始一次增长>

///depiction:<对此修改的描述>

///Writer:修改者中文名

///RewriteDate:<模块修改日期,格式:YYYY-MM-DD>

///</summary>7.3类属性注释在类的属性必须以以下格式编写属性注释:

///<summary>

///<Propertiesdepiction>

///</summary>7.4方法注释在类的方法声明前必须以以下格式编写注释

///<summary>

///depiction:<对该方法的说明>

///</summary>

///<paramname="<参数名称>"><参数说明></param>

///<returns>

///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>

///</returns>

///Writer:作者中文名

///CreateDate:<方法创建日期,格式:YYYY-MM-DD>#region该方法作用或者功能,实现什么目的#endregion7.5代码间注释代码间注释分为单行注释和多行注释:

//<单行注释>

/*多行注释1

多行注释2

多行注释3*/

代码中碰到语句块时必须添加注释(if,for,foreach,……),添加的注释必须可以说明此语句块的作用和实现手段(所用算法等等)。以上可参考如下例子:staticvoidMain(string[]args){//声明并实例化一个新的范型SortedList类。//Person是类型参数。SortedList<Person>list=newSortedList<Person>();//创建name和age值以初始化Person对象。string[]names=newstring[]{"Franscoise","Bill","Li","Sandra","Gunnar","Alok","Hiroyuki","Maria","Alessandro","Raul"};int[]ages=newint[]{45,19,28,23,18,9,108,72,30,35};//填充列表。for(intx=0;x<names.Length;x++){list.AddHead(newPers

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论