登陆注册
8724600000057

第57章 附录B开发过程中的各类规范(1)

B1文档格式规范

B1.1文档格式规范

编号:s.c.001。

标题:文档格式规范。

作者:某某。

提交时间:2008.11.24,10:30。

文档性质:建议。

文档分类:规则标准。

摘要:本文提出了文档管理的建议规范。

B1.2目录

1.规范说明

1.1文档的结构

1.2文档的编号

1.3标题与作者

1.4文档的提交时间

1.5文档的性质

1.6文档的分类

1.7文档的摘要

2.文档管理

2.1文档的管理

B1.3内容

1.规范说明

1.1文档的结构

本文档本身就是本规范的实例。文档以纯文本格式编辑,以便交流。

文档中的段落之间以空行分割。段落首行不缩进。每行宽度不超过区分文档各部分的横线的宽度。文档信息部分包括文档的编号、标题、作者、提交时间、性质、分类、摘要信息。

1.2文档的编号

文档的编号分为三个部分:文档性质符号、文档分类符号、文档版本号。

符号是一个小写的英文字母,编号是3~4位阿拉伯数字。它们之间用点号分开。

除建议性质的文档外,编号由项目管理员或指定人员负责指定。但不可出现重复(建议的提出者可以用最近一篇同类建议的编号加1作为自己文档的编号)。

1.3标题与作者

这里的标题、作者应与文档正文中的标题、作者一致。

1.4文档的提交时间

提交时间按本文中的时间格式标记,精确到1/4小时。日期和时间之间用空格分开。

1.5文档的性质

文档性质分为以下几种。

a.建议:以小写s表示。文档的内容为未经批准的建议性意见。

b.讨论稿:以小写d表示。文档内容为正在或已经批准但仍在讨论的文件。

c.正式文档:以小写f表示。文档内容为已经讨论通过的文件。

性质的审核由项目负责人或指定人员组织全体人员表决决定。

1.6文档的分类

文档分为以下几类。

a.规则标准:以小写c表示。内容为有关的规范和标准。

b.设计文档:以小写d表示。内容为项目的各种设计文件。

c.程序清单:以小写p表示。内容为存档的程序清单。

d.参考说明:以小写h表示。内容为使用说明及howto文件。

e.其他:以小写o表示。内容为其他类别之外的文件。

分类由项目负责人或指定人员进行。

1.7文档的摘要

摘要与前面的几个部分之间以空行分开,如本文件所示。

摘要用于简要说明文档的内容,以方便他人检索。

1.8文档的命名

文档的标题加标号。

2.文档的管理

文档的管理由项目负责人或指定人员负责。管理人员负责整理文档,定期组织讨论,适时修改文档。

2.1文档的提交

文档完成后由文档书写人员提交到文档管理人员指定的目录。

2.2文档的检查

文档管理人员在归档之前,检查文档的命名、格式是否符合文档规范要求,不符合不予归档,并通知文档书写人员。

书写人员定期修改。

2.3文档的归档

文档管理人员把符合文档规范的文档提交到相应的目录下。

B2VB.NET代码命名规范

1.概述

在开发中保持良好的编码规范是十分重要的。这里参考了一种VB.NET编码规范,是一种被证明能明显改善代码可读性、并有助于代码管理、分类的编码规范。采用这种编码规范,能避免如匈牙利命名法带来的繁长前缀以便于记忆变量的使用。

2.总体原则

①特例名+所属类别名

②词与词之间直接相连,用大写字母区分:

Dim CancelButton as Button

Dim QueryForm as Form

这个例子遵循上述两条原则。

③对于类中属性、方法、变量,不必在后面加所属类别名。用动词短语、名词短语来区分。比如privatesubOpenFile()、privatemFileNameasstring、propertyFileName。

尽可能封装类,也就是说尽可能申明私有变量与方法,对于必须开放的成员变量或属性,用名词前加m来区分。事件与属性的区分是在事件后加Event。

3.具体说明

1)类级单位的命名

(1)类

以Class声明的类,都必须以名词或名词短语命名, 体现类的作用。如:ClassIndicatorClass;当类是一个特性(Attribute)时,以Attribute结尾,当类是一个异常(Exception)时,以Exception结尾。如:Class ColorSetException、Class CauseException—Attribute;当类只需有一个对象实例(全局对象,比如Application等),必须以Class结尾。如:Class ScreenClass、Class SystemClass;当类只用于作为其他类的基类,根据情况,以Base结尾。如:MustInherit Class IndicatorBase;如果定义的类是一个窗体,那么名字的后面必须加后缀Form,如果是Web窗体,必须加后缀Page。如:Class PrintForm Inherits Form’*Windows窗体、Class StartPage:Inherits Page*Web窗体。

(2)枚举和结构

同样必须以名词或名词短语命名,最好体现枚举或结构的特点。如:Enum ColorButtonEnum,以Enum结尾,表明这是一个枚举;Structure CustomerInfoStructure,以Structure结尾,表明这是一个结构体。

(3)委派类型

普通的委派类型以描述动作的名词命名,以体现委派类型实例的功能。如:DelegateSubDataSeeker (ByVal SeekString AsString)。用于事件处理的委派类型, 必须以EventHandler结尾。如:Delegate Sub DataChangedEventHandler (ByVal Sender AsObject,ByVal e As DataChangedEventArgs)。

(4)接口

与其他类型不同,接口必须要由I作为前缀,并用形容词命名,突出表现实现接口的类将具有什么能力。

(5)模块

模块不是类型,它的名称除了必须以名词命名外,必须加以后缀Module。如:ModuleSharedFunctionsModule。

上述所有规则的共同特点是,每个组成名称的词语都必须以大写开头,禁止完全大写或小写的名称。

2)方法和属性的命名

(1)方法

无论是函数还是子程序,方法都必须以动词或动词短语命名。无须区分函数和子程序,也无须指明返回类型。如:SubOpen (ByValCommandStringAsString)、FunctionSet—CopyNumber(ByValCopyNumberAsInteger)。参数需要指明ByVal还是ByRef,这一点写起来会让程序变长,但非常必要。如果没有特别情况,都使用ByVal。参数的命名方法,参考后面“变量的命名方法”。

(2)属性

原则上,字段(Field)是不能公开的,要访问字段的值,一般使用属性。属性以简洁清晰的名词命名。如:PropertyConcentrationAsSingle、PropertyCustomerAsCustomerTypes。

(3)事件

事件是特殊的属性,只能在事件处理上下文中使用。命名的原则一般是动词或动词的分词,通过时态表明事件发生的时间。如:EventClickEventAsClickEventHandler、EventColorChangedEventAsColorChangedEventHangler

3)变量和常数

常数以表明常数意义的名词命名,一般不区分常数的类型。如:Const DefaultConcentrationConst As Single=0.01。

普通类型的变量,只要用有意义的名字命名即可,不可使用简称和无意义的名称,诸如A,x1等,下面给出了良好的例子:

Dim Index As Integer

Dim NextMonthExpenditure As Decimal

Dim CustomerName As String

不能起太长的名字,应该尽量简洁。如下面的例子:

Dim VariableUsedToStoreSystemInformation As String’*错误,太重复;

Dim SystemInformation As String’*正确,简单明了;

Dim sysInfo As String’*错误,过于简单;

特殊情况可以考虑一个字母的变量。如:

Dim g As Graphic

对于控件,应该指明控件的类型,方法是直接在变量后面加一类名。如:

Friend WithEvents NextPageButton As Button’*按钮;

Friend WithEvents ColorChoicerPanel As Panel’*面版;

Friend WithEvents CardFileOpenDialog As FileOpenDialog’*文件打开对话框等;

无须规定某种类型变量的前缀,而只需把类型写在其后面即可,试对比下列代码:

btnCancel.Text=”&;Cancel”;

CancelButton.Text=”&;Cancel”,

显然后者更能使阅读者明白变量的类型是一个按钮。

4)标签

标签就是用于Goto跳转的代码标识,由于并不推荐使用Goto语句,所以标签的使用也比较苛刻。标签必须全部大写,中间的空格用下划线“_”代替,而且应该以“_”开头。比如:_A_LABEL_EXAMPLE。如此定义标签是为了与其他代码元素相区别。

5)名字空间

通常,一个工程使用一个名字空间,通常不需要用Namespace语句,而是在工程选项的“RootNamespace”中指定,使用名字空间可以使代码更加整齐,容易修改,这一点是VB.NET的优点。名字空间的语法是:

公司名.产品名[.组件名的复数]

如:

Namespace Ninputer.VirtualScreen;

Namespace Ninputer.CardEditor.CustomeControls。

随便起一个工程的名字绝对不是一个好主意,一定要遵守上述规定。

6)注释

主要的注释分为3种。

(1)模块级别

对于每个模块应该按如下格式,将注释书写于每个模块的开始部分。

region“模块总体描述”

‘模块名:

‘程序员名:

‘开始日期:

‘复查日期:

‘单元测试日期:

‘单元测试通过日期:

‘功能描述:

‘其他描述:

endregion

(2)函数级别

用于描述每个具体的函数或主要模块级别的变量常量的,书写于函数、变量、常量之前。

‘模块名:

‘程序员名:

‘传入参数说明:

‘功能描述:

‘返回参数说明:

‘其他描述:

(3)语句级别

对于主要的语句加以描述,书写于语句之后。

B3数据库命名规范

B3.1数据表命名规范

数据表命名用“T_”开头,表名用相应的英文名(第一个字母用大写)。比如,行业表为T_Trade。

表的主键命名为“表名+Id”。比如,行业表的主键为TradeId,类型用varchar(n),n可以取4,8,12等。主键由数据库函数产生,如行业表的主键可以是T101。

其他字段的第一个字母也大写,比如行业表中的行业名为TradeName。

如果表的含义涉及几个部分,则用几个英文单词拼接起来表示。比如对公司的评价表命名为CompanyRemark,如果单词过长则可以缩写为CompRemark。

样例:

tab_TableName

vie_ViewName

sto_StoredProcedureName

fun_FunctionName

tri_TrigerName

rul_RuleName

def_DefaultName

con_ConstraintName

che_CheckName

同类推荐
  • 中文版AutoCAD2011基础与应用案例教程

    中文版AutoCAD2011基础与应用案例教程

    本书采用项目教学方式,通过大量案例全面介绍了AutoCAD2011软件的功能和应用技巧。全书共分8个项目,内容涵盖AutoCAD2011基本操作,绘制与编辑图形,标注尺寸,添加文字注释与应用表格,创建与应用块,绘制与编辑三维图形,图形输出等。
  • 中国3D打印的未来

    中国3D打印的未来

    自2012年以来,有关3D打印的报道屡见报端,这一新型制造技术引起了全世界的广泛关注。《中国3D打印的未来》作者、中国3D打印技术产业联盟秘书长罗军认为,中国从20世纪90年代初开始涉足3D打印技术,并取得了巨大进展,但与国外同行相比仍存在一定差距。特别是中国3D打印企业普遍存在“小而散”、各自为政的现象,如何发挥整合优势、抱团发展是目前亟需解决的问题。如果能够加强同行合作,抱团发展,形成合力,相信3D打印会成为唯一一项中国有可能赶超世界先进水平的技术。
  • 计算机与人工智能(科学新知丛书)

    计算机与人工智能(科学新知丛书)

    本书是专门为中小学生编写的科普读物。全书共分八个部分,分别就计算机诞生的历程,计算机的种类、构造、作用及其发展趋势等方面进行了详尽的论述,全书论述深入浅出,行文活泼流畅。为本书的主要读者——广大的中小学生朋友认识计算机、了解计算机和掌握计算机提供了一把钥匙,是新时期中小学生开展素质教育不可多得的科普读物,中小学生家长及教师阅读此书也能从中获得有益的启示和感悟。
  • Delphi程序设计教程

    Delphi程序设计教程

    本书为适应不同层次读者的需要,从Delphi的基本知识讲起,由浅入深,全面讲述了Delphi的集成开发环境、Delphi的编程语言——ObjectPascal、常用组件的使用、窗体的设计、菜单的设计、对话框的设计、多文档界面程序的设计、多媒体编程和数据库应用程序设计等内容。
  • 体感交互技术

    体感交互技术

    本书提出了体感计算的研究,探讨了基于体验性认知的个性化电子学习方式,并且分析了面向儿童的艺术创造体验,在体感虚拟化身的帮助下,用户可以通过身体运动,促进情感心智的全面发展,
热门推荐
  • 孩子学理财的第一本书“小橘灯”亲子学堂丛书

    孩子学理财的第一本书“小橘灯”亲子学堂丛书

    中国的家长历来不太重视对孩子财商的培养,本书旨在帮助父母培养出高财商的孩子,通过生动简洁的事例和亲切浅显的讲解,介绍了培养孩子财商应该了解的知识、正确的财富观念、孩子理财好的方法等,相信每一位父母都能找到适合自己的提高财商的方法。
  • 那年的天空

    那年的天空

    韩寒说:“听过很多道理,却仍过不好这一生。”是啊,成长的路上我们经历了许多,打架,早恋,叛逆,也有为自己理想而奋斗,那年的天空是我们的天空,它可能并不总是天晴,也会有打雷下雨,雨后不一定会有彩虹,可谁又说打雷下雨不是一种壮丽,我们不知道以后的路会是怎样,但我们会永远怀念那段时光,虽然它终将逝去,但作为为生命中极有重量的一份胶卷,它会一直被保存好,十几年,几十年之后,重新播放这些青春的片段,它仍旧是色彩斑斓的一组组画面,永远令人骄傲,令人感动。
  • 幽默王

    幽默王

    退休职工《幽默王》王振喜一家和他的老哥儿们、老姐儿们多姿多彩的生活,他们的喜怒哀乐,他们的酸甜苦辣,他们的心路历程,他们的困惑,他们的追求。退休职工《幽默王》王振喜一家和他的老哥儿们、老姐儿们多姿多彩的生活,他们的喜怒哀乐,他们的酸甜苦辣,他们的心路历程,他们的困惑,他们的追求。相伴人间万家灯火,过去未来共斟酌,如歌岁月,岁月如歌。
  • 霞外杂俎

    霞外杂俎

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 兰因·璧月

    兰因·璧月

    兰因璧月是世间至美之花。兰因璧月是武林至尊圣物。那是每一个向往权利与荣华的人梦寐以求的。有这么两个人,视那淡泊名利仁善侠义为至愚至昧之事,他们的理想,莫过于拥兰因璧月入怀,立于武林之巅,俯视天下英豪。
  • 重生杀手成长记

    重生杀手成长记

    虽然是个杀手,她不清高,她没个性,好点色,贪点财,努力成为人上人,C,谁他妈的搞暗算!叶小游一朝穿到了十岁时,收美男,搞创业,然后推倒组织自己成为佣兵王者!唐唐本来要弃文的,可是又舍不得……决定努力的写下去吧!请大家支持新书《强制君受—本将为攻》~
  • 假面公子,毒女狂枭倾天下

    假面公子,毒女狂枭倾天下

    她灰零,22世纪医药界的奇迹。和阎王签订条约,带着系统准备大干一番的她,宿体竟然是个女扮男装的废物“嫡子” ? 5岁就被扔到元兽之森自生自灭?10年后她依旧女扮男装。 诶?她7岁时救的那个男孩子竟找上门来了? 大哥,我是直的,不是断袖。 可是你是男的吗?...怎么办她不是。不过,怎么觉得自从一不小心把自己玩死了之后,这男的就有点不对劲。 灰零弦外音#好无聊啊,那死一死好了# 男人∶再敢死一次,我就把你锁在我身上,让你哪也去不了 137系统∶宿主你好像把他逼黑化了耶。 灰零无辜∶我哪有,不过就是嫌他跟着我,不好行动,所以我就去死了吗,那里逼迫他了? 【本文写开挂人生,受不了的切勿入坑。】
  • 诡异谜案

    诡异谜案

    我是神探刘银水,欢迎大家来到诡异侦探社,无论大案小案,我都能破,不过,得先交首付,不然没得说,有钱请来,没钱离开,谢谢!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 无可替代你是我的唯一救赎

    无可替代你是我的唯一救赎

    “你是我唯一的救赎,也是我放弃邪念的唯一希望”——顾念北“你是我自认为很完美人生里的唯一一个差错,也是我这辈子改不过来的差错”——苏清