




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XK-DN-2000-10-11-12请在这里输入公司名称文 档 编 号产品版本密级XK-DN-2000-10-11-12V 1.0产品名称: 共 页程序编写规范及约定(仅供内部使用)文 档 作 者:_日期:_/_/_开发/测试经理:_日期:_/_/_项 目 经 理: _ 日期:_/_/_请在这里输入公司名称版权所有 不得复制目录程序编写规范及约定31编写目的32代码编写风格32.1单元风格32.2语句风格33命名规则33.1命名约定33.1.1标志符33.1.2类class33.1.3枚举类型enum43.1.4委托delegate43.1.5常量const43.1.6接口interface43.1.7方法function43.1.8命名空间namespace43.1.9参数43.1.10局部变量53.1.11数据成员53.1.12自定义异常类53.1.13命名缩写53.1.14数据库命名53.2代码编写命名规范63.3界面常用控件命名约定63.4文件命名规范73.4.1文档文件命名73.4.2配置文件命名73.4.3程序文件命名7程序编写规范及约定1 编写目的为了使编写代码具有可读性、可理解性、可维护性,对程序编写人员代码实行统一风格,使得程序代码能够以名称反映含义、以形式反映结构。此文档可供程序代码编写人员及代码维护人员使用。2 代码编写风格2.1 单元风格2.2 语句风格3 命名规则3.1 命名约定Pascal和Camel命名约定:编程的命名方式主要有Pascal和Camel两种(Pascal:每个单词的首字母大写,例如ProductType;Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType)3.1.1 标志符规则:Pascal、Camel实例与描述:例子说明3.1.2 类class规则:Pascal实例与描述:Application3.1.3 枚举类型enum规则:Pascal实例与描述:记住,是以Pascal命名,切勿包含Enum,否则FXCop会抛出Issue3.1.4 委托delegate规则:Pascal实例与描述:以Pascal命名,不以任何特殊字符串区别于类名、函数名3.1.5 常量const规则:全部大写实例与描述:全部大写,单词间以下划线隔开3.1.6 接口interface规则:Pascal实例与描述:IDisposable 注:总是以 I 前缀开始,后接Pascal命名3.1.7 方法function规则:Pascal实例与描述:ToString3.1.8 命名空间namespace规则:Pascal实例与描述:以.分隔,当每一个限定词均为Pascal命名方式,比如:using ExcelQuicker.Framework3.1.9 参数规则:Camel实例与描述:首字母小写3.1.10 局部变量规则:Camel实例与描述:也可以加入类型标识符,比如对于System.String类型,声明变量是以str开头,string strSQL = string.Empty;3.1.11 数据成员规则:Camel以m开头Pascal命名实例与描述:如mProductType(m意味member)属性 3.1.12 自定义异常类自定义异常类以Exception结尾,并且在类名中能清楚的描述出该异常的原因。比如NotFoundFileException,描述出了某个实体(文件、内存区域等)无法被找到。3.1.13 命名缩写在一般情况下,不推荐缩写命名,不要担心变量命名长,长的变量名能使变量的意义更加清晰,其实从长变量名的负面作用三,因为Ctrl+C和Ctrl+V加上在VS中的智能感知,其负面追用已经很小。变量命名的原则是,尽最大努力让其他人在看到我们的变量/函数/等的第一时间,大概能猜出它是做什么的。比如:int productTypeCount = 0; /我们在第一时间就能知道它是记录产品的数量的变量而对于糟糕的命名方式:int prodTypeCount = 0; /它是productTypeCount的简写,我们一部分人也许知道prod是product的缩写,但是每人能保证所有的人都知道它。我个人认为:最优秀的代码它本身就是注释。作为一流的程序员。并不仅仅实现功能,而是要让我们的代码更加优美,具备让他人维护或今后扩充的能力。作为现在的业务系统,其门槛的准入水平已大大降低,实现功能上的需求已没有什么难度,但是高手和菜鸟的区别在于,高手的代码通俗易懂,在整个编码的过程中,不仅能考虑到性能、还会考虑代码可读性和维护性。3.1.14 数据库命名数据库的字段、表名的命名都推荐采用Pascal命名方式,尽量不采用缩写。当然,使用长的字段名、表名,可能会使SQL语句的编写带来负面影响。我推荐大家可以使用一些ORM,ORM的性能肯定不会比直接写SQL的好,但是如果做业务系统,更重要的是系统多久能交付用户使用,ORM不仅使开发时间可以缩短不少,并且在后期的维护上也比直接写SQL便利很多。3.2 代码编写命名规范A. 每行语句至少占一行,如果语句过长(超过一屏),则该语句断为两行显示;B. 把相似的内容放在一起,比如数据成员、属性、方法、事件等,并适当的使用#region#endregion,在编写ASP.NET程序时,对应自动产生的控件定义,用#region Automatic Generated Web Components #endregion框住C. 使用空格,(1) 双目操作符的前后加空格(+, =, & 等),index = index + 1;(2)单目操作符前加空格(!, +, 等), index +;(3)逗号、分号只在后面加空格D. 使用空行,在一段功能代码、或者函数、属性之间插入空行,这样很直观。E. 代码可读性一些建议(1)注意运算符的优先级,应该尽量使用括号明确表达式的操作顺序,避免使用默认优先级,给维护人带来困扰(2)避免使用不易理解的数字,用有意义的标识来替代(枚举和常量)比如:if(productType = 0) else if (productType = 1) (不推荐使用)if(productType = ProductType.CD) else if (productType = ProductType.DVD) (3)在界面层中尽量使用异常处理try语句,不要将系统级别的错误直接暴露给用户,而更应该的是把系统抛出的错误信息记录到LOG日志文件中去,告诉用户友好的提示信息3.3 界面常用控件命名约定窗体控件命名以控件缩写3个字母开头,以具有代表含义的词来命名,其形式为:控件缩写(前3个字母)+命名(具有代表含义的单词),具体命名方式见代码命名规范。以下列出常用控件缩写:0控件名缩写说明1Formfrm2MainNenu、PopupMenu、MenuItemmnu3TextBox、TextMemotxt4Labellbl5CheckBoxchk6RadionBouttenrbt7ListBoxlbx8ComboBoxcbx9Bouttenbtn10Panelpnl11TreeViewtvw12ListViewlvw13ImageList、Image、Pictureimg14G
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电气注册基础试题及答案
- 2025房屋租赁合同范本及家具清单
- 语文知识基础试题及答案
- 羽毛球拍生产线项目技术方案
- 考研英语基础试题及答案
- 污水处理厂及配套附属设施工程建筑工程方案
- 聚合氯化铝生产线项目投资计划书
- 离婚协议签订中的心理辅导与法律咨询全程服务
- 离婚双方财产分配及子女监护权明确协议
- 离异家庭子女户口迁移及抚养费支付合同
- 恒瑞医药简介课件
- 甲午中日战争情景剧
- 石油行业安全培训课件
- 国开电大组织行为学任务四调查报告
- 事业单位医学基础知识名词解释
- 施工现场安全监理危险源清单一览表
- GB/T 233-2000金属材料顶锻试验方法
- FZ/T 74003-2014击剑服
- 颈椎DR摄影技术-
- 功能材料概论-课件
- 一点儿有点儿课件
评论
0/150
提交评论