VB编程规则
变量命名规则
- 遵守VB编程标准一书24页~27页的标准
- 用户自定义类型时,成员的变量命名也标识类型字头(见25页第二种方式)
- 所有使用的变量必须事先定义,不能不定义,也不能在代码中间,到使用时才定义。
- 每行只定义一个变量,多行定义变量类型的As 必须对齐,每个变量的用途都必须增加注释,说明其用途。注释的起始位置必须对齐
- 变量的定义必须详细,尽可能使用变量名说明变量的用途。参见42页第五章的内容。
- 6、每个程序模块的前面必须增加Option Explicit语句。
使用常量和枚举
- 在程序内,只要可能,不能使用固定的数字(幻数)
- 枚举元素的前面增加字头mcs
编码格式规则
- 每个层次之间缩进3个空格,函数内部的函数体、IF语句、For语句内部的循环体、Select case 语句、Case语句
- 编程时,各相对独立的部分之间增加空行,IF前面、 ENDIF后面、For前面、 Next后面、Select Case前面、End Select后面,End Function前面读需要增加空行。
注释说明规则
- 注释的格式为:’*后增加两个空格
- 每个定义使用的变量必须增加注释,说明变量的用途。变量说明和变量定义处于同一行上,多个变量的注释说明的起始位置必须对齐。
- 每个函数的开始必须增加注释:函数目的,参数意义,返回值三个部分(见115-116页)
- IF语句、For语句内部的循环体、Select case 语句、Case语句之前增加注释。
- 完成相对独立功能的每一段程序都需要增加注释。
错误处理规则
- 不能随意使用On Error Resume next语句。
- 对允许出现错误的地方,On Error Resume next语句和On Error goto 0语句配对使用,对不能出错的地方,使用BugAssert函数来捕捉错误。BugAssert函数的内容如下,具体的使用方法可向刘俊请教。
Sub BugAssert(ByVal fExpression As Boolean, Optional sExpression As String)
- #If afDebug Then
- If fExpression Then Exit Sub
- BugMessage "BugAssert failed: " & sExpression
- Stop
- #End If
End Sub
其它规定
- 非万不得已,不能使用Variant数据类型
- 程序代码超过10行以上的,在代码中间不能使用Exit Sub和Exit Function语句,应使用GoTo PROC_EXIT语句,以使程序有统一的出口点,便于调试(见15页)。
- 不能使用Gosub语句。
- 调用过程或不需要返回值的函数时,使用Call.。
- 尽可能不使用全局变量,尽可能使用函数的参数来传递数据。
- Select case中应有case else
- 窗体内构件命名时,除Option外,不能使用数组命名。
- Option及对应的属性命名时,后面加Flag;Check和Combo及对应的属性命名时,后面加Type。
- 不能使用Integer数据类型;