| VBScript的编码约定 |
|
作者:北极圈 文章来源:本站整理 点击数: 更新时间:2008-6-17 13:03:30 |
|
什么是编码约定?
编码约定是帮助您使用 Microsoft Visual Basic Scripting Edition 编写代码的一些建议。编码约定包含以下内容:
- 对象、变量和过程的命名约定
- 注释约定
- 文本格式和缩进指南
使用一致的编码约定的主要原因是使 Script 或 Script 集的结构和编码样式标准化,这样代码易于阅读和理解。使用好的编码约定可以使源代码明白、易读、准确,更加直观且与其他语言约定保持一致。
常数命名约定
VBScript 的早期版本不允许创建用户自定义常数。如果要使用常数,则常数以变量的方式实现,且全部字母大写以和其他变量区分。常数名中的多个单词用下划线 (_) 分隔。例如:
USER_LIST_MAX NEW_LINE
这种标识常数的方法依旧可行,但您还可以选择其他方案,用 Const 语句创建真正的常数。这个约定使用大小写混合的格式,并以“con”作为常数名的前缀。例如:
conYourOwnConstant
变量命名约定
出于易读和一致性的目的,请在 VBScript 代码中使用以下变量命名约定:
|
子类型 |
前缀 |
示例 |
|
Boolean |
bln |
blnFound |
|
Byte |
byt |
bytRasterData |
|
Date (Time) |
dtm |
dtmStart |
|
Double |
dbl |
dblTolerance |
|
Error |
err |
errOrderNum |
|
Integer |
int |
intQuantity |
|
Long |
lng |
lngDistance |
|
Object |
obj |
objCurrent |
|
Single |
sng |
sngAverage |
|
String |
str |
strFirstName |
变量作用域
变量应定义在尽量小的作用域中。VBScript 变量的作用域如下所示:
|
作用域 |
声明变量处 |
可见性 |
|
过程级 |
事件、函数或子过程 |
在声明变量的过程中可见 |
|
Script 级 |
HTML 页面的 HEAD 部分,任何过程之外 |
在 Script 的所有过程中可见 |
变量作用域前缀
随着 Script 代码长度的增加,有必要快速区分变量的作用域。在类型前缀前面添加一个单字符前缀可以实现这一点,而不致使变量名过长。
|
作用域 |
前缀 |
示例 |
|
过程级 |
无 |
dblVelocity |
|
Script 级 |
s |
sblnCalcInProgress |
描述性变量名和过程名
变量名或过程名的主体应使用大小写混合格式,并且尽量完整地描述其目的。另外,过程名应以动词开始,例如 InitNameArray 或 CloseDialog。
对于经常使用的或较长的名称,推荐使用标准缩写以使名称保持在适当的长度内。通常多于 32 个字符的变量名会变得难以阅读。使用缩写时,应确保在整个 Script 中保持一致。例如,在一个 Script 或 Script 集中随意切换 Cnt 和 Count 将造成混乱。
对象命名约定
下表列出了 VBScript 中可能用到的对象命名约定(推荐):
|
对象类型 |
前缀 |
示例 |
|
3D 面板 |
pnl |
pnlGroup |
|
动画按钮 |
ani |
aniMailBox |
|
复选框 |
chk |
chkReadOnly |
|
组合框、下拉列表框 |
cbo |
cboEnglish |
|
命令按钮 |
cmd |
cmdExit |
|
公共对话框 |
dlg |
dlgFileOpen |
|
框架 |
fra |
fraLanguage |
|
水平滚动条 |
hsb |
hsbVolume |
|
图像 |
img |
imgIcon |
|
标签 |
lbl |
lblHelpMessage |
|
直线 |
lin |
linVertical |
|
列表框 |
lst |
lstPolicyCodes |
|
旋钮 |
spn |
spnPages |
|
文本框 |
txt |
txtLastName |
|
垂直滚动条 |
vsb |
vsbRate |
|
滑块 |
sld |
sldScale |
代码注释约定
所有过程的开始部分都应有描述其功能的简要注释。这些注释并不描述细节信息(如何实现功能),这是因为细节有时要频繁更改。这样就可以避免不必要的注释维护工作以及错误的注释。细节信息由代码本身及必要的内部注释来描述。
当传递给过程的参数的用途不明显,或过程对参数的取值范围有要求时,应加以说明。如果过程改变了函数和变量的返回值(特别是通过参数引用来改变),也应在过程的开始部分描述该返回值。
过程开始部分的注释应包含以下区段标题。相关样例,请参阅后面的“格式化代码”部分。
|
区段标题 |
注释内容 |
|
目的 |
过程的功能(不是实现功能的方法)。 |
|
假设 |
其状态影响此过程的外部变量、控件或其他元素的列表。 |
|
效果 |
过程对每个外部变量、控件或其他元素的影响效果的列表。 |
|
输入 |
每个目的不明显的参数的解释。每个参数都应占据单独一行并有其内部注释。 |
|
返回 |
返回值的解释。 |
请记住以下几点:
- 每个重要的变量声明都应有内部注释,描述变量的用途。
- 应清楚地命名变量、控件和过程,仅在说明复杂细节时需要内部注释。
- 应在 Script 的开始部分包含描述该 Script 的概述,列举对象、过程、运算法则、对话框和其他系统从属物。有时一段描述运算法则的假码是很有用的。
格式化代码
应尽可能多地保留屏幕空间,但仍允许用代码格式反映逻辑结构和嵌套。以下为几点提示:
- 标准嵌套块应缩进 4 个空格。
- 过程的概述注释应缩进 1 个空格。
- 概述注释后的最高层语句应缩进 4 个空格,每一层嵌套块再缩进 4 个空格。例如:
'******************************** ' 目的: 返回指定用户在 UserList 数组中第一次出现的位置。 ' 输入: strUserList(): 所查找的用户列表。 ' strTargetUser: 要查找的用户名。 ' 返回: strTargetUser 在 strUserList 数组中第一次出现时的索引。 ' 如果目标用户未找到,返回 -1。 '********************************
Function intFindUser (strUserList(),
strTargetUser) Dim i ' 循环计数器。
Dim blnFound ' 发现目标的标记。
intFindUser = -1 i = 0 ' 初始化循环计数器。
Do While i <= Ubound(strUserList) and Not blnFound If strUserList(i) = strTargetUser Then blnFound = True '
标记设为 True。 intFindUser = i ' 返回值设为循环计数器。
End If i = i + 1 ' 循环计数器加 1。 Loop End Function
|
| 文章录入:admin 责任编辑:admin |
|
上一个文章: VBScript的两类“过程” 下一个文章: VBScript页面简单样例 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |