软件开发编码规范

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

可编辑精品软件开发编码规范文件编号:生效日期:2011年10月01日版本号:V1.0受控状态:0密级:机密总页数:6正文:2附录:0编制:日期:审核:日期:批准:日期:可编辑精品基本要求1.1程序结构要求新开发的类和方法,都采用:在项目(DiaoYan)文件夹下新建分部类的形式(partial),包括IBLL,BLL和DAL项目,防止以后重新生成代码的时候,覆盖了核心业务的代码。2将\App\App_Start文件夹下的RouteConfig.cs,找到起始页设置,将其设置为自己开发的页面,此文件不迁入。尽量使用.NET库函数和公共函数(无特殊情况不要使用外部方法调用windows的核心动态链接库)。不要随意定义全局变量,尽量使用局部变量。1.2可读性要求可读性第一,效率第二保持注释与代码完全一致每个方法必须添加函数头注释说明,说明规格见规范定义类、接口、枚举、结构、委托等类型时,必须添加注释说明定义常量、变量、属性、事件等对象时,必须添加注释说明处理过程的每个阶段应该添加相关的注释说明在典型算法前必须添加注释说明一目了然的语句不添加注释说明循环、分支层次不要超过五层1.3结构化要求禁止出现两条等价的支路禁止GOTO语句可编辑精品用if语句来强调只执行两组语句中的一组,禁止elsegoto和elsereturn用case实现多路分支。避免从循环引出多个出口。避免不必要的分支不要轻易用条件分支去替换逻辑表达式1.4正确性与容错性要求无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响所有变量在调用前必须被初始化对所有的用户输入,必须进行合法性检查程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机是否联机等,对于明确的错误,要有明确的容错代码提示用户2C#编程规范2.1适用范围本标准适用于利用VisualC#,其余语言作参考.。2.2命名1)常量命名下表描述了不同类型标识符的大小写规则:标识符大小写示例命名空间PascalnamespaceCom.Techstar.ProductionCenter类PascalpublicclassDevsList接口PascalpublicinterfaceITableModel方法PascalpublicvoidUpdateData()属性PascalPublicintLength{…}事件PascalpubliceventEventHandlerChanged;字段CamelprivatestringfieldName;枚举值PascalFileMode{Append}参数CamelpublicvoidUpdateData(stringfieldName)可编辑精品局部变量CamelstringfieldName;´避免使用缩写,如果一定要使用,就谨慎使用。同时,应该保留一个标准缩写的列表,并且在使用时保持一致。常量命名必须具有一定的实际意义常量命名必须全部以大写字母来撰写,中间可根据意义的连续性用下划线连接,并添加简单的注释,说明其作用常数以表明常数意义的名词命名,一般不区分常数的类型:constsingleDefaultConcentration=0.012)变量命名普通类型的变量,使用有意义的名字命名不可使用简称和无意义的名称诸如A,x1intindex;stringcustomerName;类的私有数据成员变量命名以m_开始Privateintm_Index;方法内部的私有变量命名以小写字母开始,多个单词组合出来的变量,则首单词首字母小写,后面的单词首字母均大写.intindex;stringcustomerName;3)类型命名类以class声明的类,都必须以名词或名词短语命名,体现类的作用。如:classIndicator当类是一个特性(Attribute)时,以Attribute结尾,当类是一个异常(Exception)时,以Exception结尾:classColorSetException;classCauseExceptionAttribute;当类只需有一个对象实例(全局对象,比如Application等),必须以Class结尾,如:classScreenClassclassSystemClass当类只用于作为其他类的基类,根据情况,以Base结尾:classIndicatorBase可编辑精品枚举和结构同样必须以名词或名词短语命名。最好体现枚举或结构的特点,如:enumColorButtons'以复数结尾,表明这是一个枚举structureCustomerInfoRecord'以Record结尾,表明这是一个结构体委派类型普通的委派类型以描述动作的名词命名,以体现委派类型实例的功能:delegatevoidDataSeeker(stringSeekString)用于事件处理的委派类型,必须以EventHandler结尾,如:delegatevoidDataChangedEventHandler(ObjectSender,DataChangedEventArgse)接口与其他类型不同,接口必须要由I作为前缀,并用形容词命名,突出表现实现接口的类将具有什么能力:interfaceISortable4)方法命名方法都必须以动词或动词短语命名。voidOpen(stringcommandString);intSetCopyNumber(intcopyNumber);参数的命名方法,参考后面“变量的命名方法”。5)属性命名原则上,字段(Field)是不能公开的,要访问字段的值,一般使用属性。属性以简洁清晰的名词命名:publicintConcentration;publicCustomerTypesCustomer;6)事件命名事件是特殊的属性,只能在事件处理上下文中使用。命名的原则一般是动词或动词的分词,通过时态表明事件发生的时间:eventClickEventHandlerClick;eventColorChangedEventHanglerColorChanged;可编辑精品7)命名空间通常,一个工程使用一个命名空间,使用根命名空间可以使代码更加整齐,容易修改。命名空间的语法如:namespaceLangben;随便起一个命名空间的名字绝对不是一个好主意,一定要遵守上述规定。.

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功