VB 版 (精华区)
发信人: Mice (开心果), 信区: VisualBasic
标 题: [转载] Visual Basic 结构化编码约定
发信站: 紫 丁 香 (Mon Nov 16 19:09:28 1998), 转信
【 以下文字转载自 VisualProgram 讨论区 】
【 原文由 Mice 所发表 】
除了命名约定外,结构化编码约定,可以极大地改善代码的可读性,如代码注释和一致
性缩进。
代码注释约定
所有的过程和函数都应该以描述这段过程的功能的一段简明注释开始(这段例程干什么
)。这种描述不应该包括执行过程细节(它是怎么做的),因为这常常是随时间而变的
,而且这种描述会导致不必要的注释维护工作,甚至更糟—成为错误的注释。代码本身
和必要的嵌入注释将描述实现方法。
当参数的功能不明显且当过程希望参数在一个特定的范围内时,也应描述传递给过程的
参数。被过程改变的函数返回值和全局变量,特别是通过引用参数的那些,也必须在每
个过程的起始处描述它们。
过程头注释块应该包括下列节标题。关于例子,请参阅下节“格式化代码”。
节标题 注释描述
目的 该过程完成什么(而不是怎么完成)。
假设 列出每个外部变量、控件、打开文件或其它不明显元素。
效果 列出每个被影响的外部变量、控件、或文件及其作用(只有当它不明显时)。
输入 每一个可能不明显的参数。参数分别在单独的行上,并嵌入注释。
返回 函数返回值的说明。
记住下列几点:
■ 每一个重要变量的声明应该包括一个嵌入注释,来描述该变量的使用。
■ 变量、控件及过程的命名应该足够清楚,使得只有复杂的执行细节才需要嵌入
注释。
■ .Bas 模块包含工程的 Visual Basic 一般常量声明,在其起始处,应该包括描
述应用程序的综述,列举主要数据对象、过程、算法、对话、数据库及系统需
求。有时,一段描述算法的伪码可能会有所帮助。
格式化代码
因为许多程序员仍然使用 VGA 显示器,所以在允许代码格式来反映逻辑结构和嵌套的同
时,应尽可能地省屏幕空间。下面列出几点:
■ 标准的、基于制表位的嵌套块应该被缩进四个空格(缺省情况下)。
■ 过程的功能综述注释应该缩进一个空格。跟在综述注释后面的最高级的语句应
该缩进一个制表位,而每一个嵌套的块再缩进一个制表位。例如:
'*****************************************************
'目的: 在用户列表数组中找出
' 一个指定用户的第一次出现位置。
'输入:
' strUserList(): 被搜索的用户列表。
' strTargetUser: 要搜索的用户名。
' 返回: 在rasUserList 数组中rsTargetUser
' 的第一次出现的索引。
' 如果目标用户没找到,返回-1。
'*****************************************************
Function intFindUser (strUserList() As String, strTargetUser As _
String)As Integer
Dim i As Integer ' 循环计数器。
Dim blnFound As Integer ' 目标寻找标志。
intFindUser = -1
i = 0
While i <= Ubound(strUserList) and Not blnFound
If strUserList(i) = strTargetUser Then
blnFound = True
intFindUser = i
End If
Wend
End Function
给常量分组
变量和定义的常量应该按功能分组,而不是分散到单独区域或特定文件中。Visual
Basic 一般常量应该在单一模块中分组,以将它们与应用程序特定的声明分开。
& 和 + 运算符
在连接字符串时总是使用 & 运算符,而当处理数值时常用 + 运算符。当在两个变体上
操作时,用 + 运算符来连接可能会导致问题。例如:
vntVar1 = "10.01"
vntVar2 = 11
vntResult = vntVar1 + vntVar2 'vntResult = 21.01
vntResult = vntVar1 & vntVar2 'vntResult = 10.0111
为 MsgBox、InputBox 及 SQL 查询创建字符串
当产生长字符串时,使用下划线连接字符产生多行代码,这样便于阅读或调试字符串。
当显示一个消息框 (MsgBox) 或输入框 (InputBox),或产生一个 SQL 字符串时,这一
技术特别有用。例如:
Dim Msg As String
Msg = "This is a paragraph that will be " _
& "in a message box. The text is" _
& " broken into several lines of code" _
& " in the source code, making it easier" _
& " for the programmer to read and debug."
MsgBox Msg
Dim QRY As String
QRY = "SELECT *" _
& " FROM Titles" _
& " WHERE [Year Published] > 1988"
TitlesQry.SQL = QRY
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.92]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.67]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: cad4.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.993毫秒