软件开发规范.doc
《软件开发规范.doc》由会员分享,可在线阅读,更多相关《软件开发规范.doc(14页珍藏版)》请在三一文库上搜索。
1、软件开发规范(C#)文档名称软件开发规范初稿描述编写人员审核人版本日期文档变更历史时间修改人章节描述目 录1. 目的12. 范围23. 注释规范24. 命名总体规则35. 命名规范46. 编码规则87. 编程准则108. 代码包规范119. 源代码的管理1210. 输入控制校验规则1211. 数据库开发规则121. 目的为了统一公司软件开发的设计过程中关于代码编写时的编写规范和具体开发工作时的编程规范,保证代码的一致性,便于交流和维护,特制定此规范。2. 范围本规范适用于开发组全体人员,作用于软件项目开发的代码编写阶段和后期维护阶段。3. 注释规范3.1.概述a) 注释要求中文及中文的标点符号
2、b) 注释中,应标明对象的完整的名称及其用途,但应避免对代码过于详细的描述。c) 每行注释的最大长度为100个字符。d) 将注释与注释分隔符用一个空格分开。e)不允许给注释加外框。f)编码的同时书写注释。g)重要变量必须有注释。h)变量注释和变量在同一行,所有注释必须对齐,与变量分开至少两个空格。如:string title; / 标题i)典型算法必须有注释。j)在循环和逻辑分支地方的上行必须就近书写注释。k)程序段或语句的注释在程序段或语句的上一行l)在代码交付之前,必须删掉临时的或无关的注释。m)为便于阅读代码,每行代码的长度应少于100个字符。3.3. 模块(类)注释模块开始必须以以下
3、形式书写模块注释:/说明:/作者:作者中文名/创建时间:/ / 修改记录:/ 2012-01-01 修改人名称 修改功能描述/ 2012-01-02 修改人名称 修改功能描述/ 2012-01-03 修改人名称 修改功能描述public class Order3.4. 类属性注释在类的属性必须以以下格式编写属性注释: / / 属性说明 / public DateTime AddTime;3.5. 方法注释在类的方法声明前必须以以下格式编写注释/ / 方法说明/ / 参数说明/ 对方法返回值的说明,该说明必须明确说明返回的值代表什么含义/ 修改记录:/ 2012-01-01 修改人名称 修改描述
4、/ 2012-01-02 修改人名称 修改描述/ 2012-01-03 修改人名称 修改描述public int Add (OrderInfo model) 3.6. 代码间注释代码间注释分为单行注释和多行注释:单行注释:/多行注释:/* 多行注释1 多行注释2 多行注释3 */或者/多行注释1/ 多行注释2/ 多行注释3代码中遇到语句块时必须添加注释(if,for,foreach,),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。具体可参考XML 文档注释(C# 编程指南)4. 命名总体规则 名字应该能够标识事物的特性,是有意义的,描述性的词语。能够一眼看出它作什么。别使用
5、会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。 名字尽量使用英文单词。 名字尽量不使用缩写,除非它是众所周知的。 名字可以有两个或三个单词组成,但不应多于三个,控制在3至30个字母以内。 在名字中,多个单词用大写第一个字母(其它字母小写)来分隔。例如:IsSuperUser。 名字尽量使用前缀而不是后缀。 名字中的单词尽量使用名词,如有动词,也尽量放在后面。例如:FunctionUserDelete(而不是FunctionDeleteUser)。在具体任务开发中,如果有特定的命名约定,则在相应的软件开发计划中予以明确定义及上报。5. 命名规范具体可参考微软命名规范5.1.
6、 命名规范样式的分类名称解释例子Pascal规则首字母和后面的每个单词的首字母都大写;其他字母小写HelloWorldCamel规则首字母小写,而后面的每个单词的首字母大写;其他字母小写helloWorld Upper规则所有字母都大写,中间用下划线分隔 PI标识符命名格式例子备注标识符、参数、局部变量Camel规则public int GetTypeID(string typeName) int typeID; Private、Protected的实例字段Camel规则private string redValue;protected bool isOk;界面控件Camel规则private
7、 Label lblAlarm;缩写Upper规则namespace System.IO 缩写必须是被普遍接受、众所周知的缩写除上面的标识符外(包括但不限于:类名、方法名、命名空间)Pascal规则public System.Drawing.Color BackColor 5.2. 命名原则a) 有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。b) 名字尽量不使用缩写,除非它是众所周知的。 c) 名字尽量使用英文单词,特殊情况下才使用拼音。d). 除用于循环,别使用单个字母的变量象i, n, x 等. 而要使用 in
8、dex, temp等。for ( int i = 0; i count; i ) .e) 类命名规则类名应该为名词及名词短语,尽可能使用完整的词.使用Pascal规则。不要使用类前缀 - 。不要使用下划线字符 (_)。不要使用任何类前缀(比如C)。有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore 就是适当的。在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为 Exception 的类派生的类
9、是适当的名称,原因是 ApplicationException 是一种 Exception。请在应用该规则时进行合理的判断。例如,Button 对于从 Control 派生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。public class FileStream f) 接口命名规则接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (Example: IComponent or IEnumberable)使用Pascal规则。使用字符I为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)public interf
10、ace IComponent g) 枚举命名规则对于 Enum 类型和值名称使用 Pascal规则。 少用缩写。 不要在 Enum 类型名称上使用 Enum 后缀。public enum FileMode Create, CreateNew, Open, OpenOrCreate, Truncate h) 静态常量使用名词及名词短语命名规则使用Upper规则(全部大写,中间用下划线分隔)int PI = 3.1415926i) 参数及非常量变量命名举例使用描述性的命名,名称应该明确表达参数的意义及类型,优先满足参数的意义描述使用 Camel 规则不要对字段名或静态字段名应用前缀。具体说来,不要
11、对字段名称应用前缀来区分静态和非静态字段。例如,应用 g_ 或 s_ 前缀是不正确的。j) Web UI类的变量命名可以通过特定的规则加入前缀Type GetType (string typeName)使用Pascal规则k) 对方法名采用一致的动词/宾语或宾语/动词顺序。例如,将动词置于前面时,所使用的名称诸如 InsertWidget 和 InsertSprocket;将宾语置于前面时,所使用的名称诸如 WidgetInsert 和 SprocketInsert。推荐名称应该为动词或动词短语.例如Save,SaveCustomer,而不要使用CustomerSave 。不要在方法中重复类的
12、名称。例如,如果某个类已命名为 Book,则不要将某个方法称为 Book.CloseBook,而可以将方法命名为 Book.Close。l) 属性命名规则名称应该为名词及名词短语使用Pascal规则对于bool型属性或者变量使用Is(is)作为前缀,不要使用Flag后缀,例如应该使用IsDeleted,而不要使用DeleteFlagpublic enum Color . m) 集合命名规则名称应该为名词及名词短语使用Pascal规则名称后面追加“Collection”n) 事件命名规则event handlers命名使用 EventHandler 后缀.两个参数分别使用 sender 及 e使
13、用Pascal规则事件参数使用EventArgs 后缀事件命名使用语法时态反映其激发的状态,例如 Changed,Changing.考虑使用动词命名.public delegate void MouseEventHandler(object sender, MouseEvent e);public class MouseEventArgs : EventArgs int x; int y; public MouseEventArgs(int x, int y) this.x = x; this.y = y; public int X get return x; public int Y get
14、 return y; 6. 编码规则6.1. 错误检查规则a) 编程中要考虑方法的各种执行情况,尽可能处理所有流程情况。b) 检查所有的系统调用的错误信息,除非要忽略错误。c) 将方法分两类:一类为与屏幕的显示无关, 另一类与屏幕的显示有关。对于与屏幕显示无关的方法,方法通过返回值来报告错误。对于与屏幕显示有关的方法,方法要负责向用户发出警告,并进行错误处理。d) 错误处理代码一般放在方法末尾。e) 对于通用的错误处理,可建立通用的错误处理方法,处理常见的通用的错误。6.2. 大括号规则将大括号放置在关键词下方的同列处,例如:if (条件表达式)while (条件表达式) . . 6.3. 缩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 规范
