VB代码规范

  • 格式:doc
  • 大小:39.00 KB
  • 文档页数:15

VB代码规范

第 1 页 共 13页

编号:YH-Q-

长沙XXXXXX有限公司 页号:1/13

软件开发标准 版次:A 第0次修改

文件起草部门 研发部 标题, 批 准 人 Visual Basic 编码标准 批 准 日 期

2008.5.8

第一章 命名约定 ....................................................................................................................... 2 第二章 代码布局格式约定 ........................................................................................................ 3 第三章 类型使用约定 ................................................................................................................ 4 第四章 表达式约定.................................................................................................................... 4 第五章 控制结构约定 ................................................................................................................ 4 第六章 函数及操作符使用约定 ................................................................................................. 4 第七章 模块及访问约定 ............................................................................................................ 4 第八章 注释使用约定 ................................................................................................................ 5 第九章 错误处理约定 ................................................................................................................ 5 第十章 其它 ............................................................................................................................... 6

第 2 页 共 13页 第一章 命名约定

1(虽然在VB中对字母大小写不敏感,本规定要求在程序设计编码过程中,一律按字

母大小写敏感处理。

2(一律采用变量强制声明,即在“选项”对话框的“编辑器”标签中,复选“要求

变量声明”选项。Option Explicit 语句要求在 Visual Basic 程序中声明所有的变量。 3(变量名命名约定

3(1(变量名应符合Visual Basic的基本变量名命名规定。

, 它们必须以字母开头。

, 它们不可以包含嵌入的句号或者类型声明字符(规定数据类型的特殊字

符)。

, 它们不能超过 255 个字符。控件、窗体、类和模块的名字不能超过 40 个

字符。

, 它们不能和受到限制的关键字同名。

3(2(变量名的定义应有意义,一律使用英文字母进行拼写,不用汉语拼音。

变量名=[作用域]_[类型][修饰词][名词]

3(3(变量名使用混合大小写,并以小写字母开头。 如:Dim nTemp As Long

3(4(如果变量名使用多个单词,将修饰词放在前面,并且尽量拼写完整增加可

读性。如:maxElement,currentFile 等。

3(5(变量名大小应至少2~3个字母。(当作为循环变量时,可以使用单个字母。

如:i,j,k等。)

3(6(变量名中应有其类型的修饰前缀。

下表列出一些类型修饰前缀,其它依次类推。

子类型 前缀 示例

Boolean b bFound

Byte byt bytRasterData

Date(Time) dt dtmStart

Double dbl dblTolerance

Error err errOrderNum

Integer n intQuantity

Long n lngDistance

Object obj objCurrent

Single sng sngAverage

Variant var varMyData

String str strFirstName

Currency crr crrTotal

3(7(变量生存期(作用域)前缀的使用按下表所示。

g_ g_strUserName 全局

m_ m_bCalcInProgress 模块级 dblVelocity 本地到过程 无

第 3 页 共 13页

3(8(尽量不使用Variant类型变量。

3(9(对于用户定义类型,应给每种类型一个它自己的三个字符的前缀。并且这

些前缀是以 "u" 开始的,例如,ucli 可以被用来作为一个用户定义的客

户类型变量的前缀。

3(10(常量名全部使用大写,当常量名是用多个单词表示时单词之间应用下划线

连起来。如:BUFFER_SIZE,FILE_SIZE 等。

4(对象名命名约定

4(1(所有对象名必须以小写字母开头,其后每一个单词都以大写字母开头

如:dlgFileOpen,mnuFileOpen。

4(2(应该用一致的前缀来命名对象,使人们容易识别对象的类型。

附件1列出了Visual Basic 支持的一些推荐使用的控件对象前缀。

附件2列出了Visual Basic 支持的推荐使用的数据访问对象 (DAO) 的

前缀。

对于表中没有列出的对象依次类推。

5(函数名或过程名命名约定

5(1(所有函数名或过程名必须以大写字母开头,尽量采用组合词表示其功能

而且,函数名应该以一个动词起首。

如: CloseDialog,GetValue.

5(2(对于函数名来说,最好能在其名字中包含其返回的类型。

如:IsEmpty返回类型是布尔值(Boolean)。

第二章 代码布局格式约定 1(语句块之间至少空一行。

( 同一层的语句应对齐。 2

3( 下一层的语句应缩进四个空格。

4( 一行只做一件事情。如:一行只定义一个变量,其余部分用于注释。

5( 对于较长的代码行应分行书写,续行应缩进四个空格。

例如产生一个 SQL 字符串时,代码可写成如下形式:

Dim strQuery As String

strQuery = "SELECT *" _

& " FROM Titles" _

& " WHERE [Year Published] > 1988"

rdoQuery.SQL = strQuery

第 4 页 共 13页 第三章 类型使用约定

1( 尽量不使用Integer,single;而使用Long,Double。

2(任何时候不使用缺省声明

第四章 表达式约定

1(提倡多使用圆括号,尽量使读者在30秒内理解表达式的意思。

2( 避免在表达式使用混合类型。

3(循环终止判断条件尽量容易满足。

第五章 控制结构约定

1( 尽量避免使用goto语句。

2( 结构嵌套不超过7层。

第六章 函数及操作符使用约定

1(避免使用MSDN文档中,已标明过时了(obsolete)的函数。

2(优先使用值调用,然后考虑使用地址调用。 3(尽量使用常数作为实参。

第七章 模块及访问约定

1( 一个模块只做一件事。

2( 模块名应能反映模块的功能。

3( 模块的组织应能体现面向对象技术。譬如为了体现封装性,较好的编码习惯是尽可

能写模块化的代码。例如,如果应用程序显示一个对话框,就把要完成这一对话任

务所需要的所有控件和代码放在单一的窗体中。这有助于将应用程序的代码组织在

有用的组件中,并减小它运行时的开销。

4( 模块中声明的变量的生存期应尽量短。在 Visual Basic 的应用程序中,只有当没有

其它方便途径在窗体之间共享数据时才使用全局变量。当必须使用全局变量时,在

一个单一模块中声明它们,并按功能分组。给这个模块取一个有意义的名称,以指

明它的作用,如 Public.bas。

第 5 页 共 13页

第八章 注释使用约定

1( 每一模块文件的开头,都应该有一段注释(banner),用于说明该模块的版权,文件

名,项目名称,作者名,复审者名,开始编写日期,最后一次修改日期,简单功能 描述,改动描述等。具体样板见附件3。

2( 所有的过程和函数都应该以描述这段过程的功能的一段简明注释开始(这段例程干

什么)。这种描述不应该包括执行过程细节(它是怎么做的),因为这常常是随时间

而变的,而且这种描述会导致不必要的注释维护工作,甚至更糟---成为错误的注释。

代码本身和必要的嵌入注释将描述实现方法。

3( 当参数的功能不明显且当过程希望参数在一个特定的范围内时,也应描述传递给过

程的参数。被过程改变的函数返回值和全局变量,特别是通过引用参数的那些,也

必须在每个过程的起始处描述它们。

4( 过程头注释块应该包括下列标题。具体样板见附件4。

标 题 注 释 描 述

目的 该过程完成什么(而不是怎么完成)。

假设 列出每个外部变量、控件、打开文件或其它不明显元素。

效果 列出每个被影响的外部变量、控件、或文件及其作用(只有当它不

明显时)。

输入 每一个可能不明显的参数。参数分别在单独的行上,并嵌入注释。

返回 函数返回值的说明。

( 每一个重要变量的声明应该包括一个嵌入注释,来描述该变量的使用。 5

6( .Bas 模块包含工程的 Visual Basic 一般常量声明,在其起始处,应该包括描述应用