VBScript教程 第十课 VBScript编码约定

什么是编码约定?

编码约定是帮助您使用 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

(0)

相关推荐

  • VBScript教程 第十课 VBScript编码约定

    什么是编码约定? 编码约定是帮助您使用 Microsoft Visual Basic Scripting Edition 编写代码的一些建议.编码约定包含以下内容: ·对象.变量和过程的命名约定 ·注释约定 ·文本格式和缩进指南 使用一致的编码约定的主要原因是使 Script 或 Script 集的结构和编码样式标准化,这样代码易于阅读和理解.使用好的编码约定可以使源代码明白.易读.准确,更加直观且与其他语言约定保持一致. 常数命名约定 VBScript 的早期版本不允许创建用户自定义常数.如果

  • VBscript教程 第五课 VBScript常数

    VB教程 > 第五课 VBScript常数 什么是常数? 常数是具有一定含义的名称,用于代替数字或字符串,其值从不改变.VBScript 定义了许多固有常数.详细信息,请参阅 VBScript 语言参考. 创建常数 您可以使用 Const 语句在 VBScript 中创建用户自定义常数.使用 Const 语句可以创建名称具有一定含义的字符串型或数值型常数,并给它们赋原义值.例如: Const MyString = "这是一个字符串."Const MyAge = 49 请注意字符串

  • VBScript教程 第四课VBScript变量

    什么是变量? 变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息.例如,可以创建一个名为 ClickCount 的变量来存储用户单击 Web 页面上某个对象的次数.使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值.在 VBScript 中只有一个基本数据类型,即 Variant,因此所有变量的数据类型都是 Variant. 声明变量 声明变量的一种方式是使用 Dim 语句.Public 语句和 Pr

  • VBScript教程 第三课VBScript数据类型

    什么是 VBScript 数据类型? VBScript 只有一种数据类型,称为 Variant.Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息.因为 Variant 是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型. 最简单的 Variant 可以包含数字或字符串信息.Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理.这就是说,如果使用看起来象是数字的数据,则 VBScript 会

  • VBScript教程 第十三课 VBScript与窗体

    简单验证 使用 Visual Basic Scripting Edition,您可以完成通常要在服务器上进行的大量窗体处理工作,也可以完成不能在服务器上进行的工作. 这是一个简单的客户端验证的样例.HTML 代码的结果是一个文本框和一个按钮.如果使用 Microsoft? Internet Explorer 查看用以下代码制作的页面,您会看到一个旁边带有按钮的小文本框. <HTML><HEAD><TITLE>简单验证</TITLE><SCRIPT LA

  • VBScript教程 第六课VBScript运算符

    VBScript 有一套完整的运算符,包括算术运算符.比较运算符.连接运算符和逻辑运算符. 运算符优先级 当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级.可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分.运算时,总是先执行括号中的运算符,然后再执行括号外的运算符.但是,在括号中仍遵循标准运算符优先级. 当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符.所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符.算

  • VBScript教程 第七课使用条件语句

    VB教程 > 第七课使用条件语句 控制程序执行 使用条件语句和循环语句可以控制 Script 的流程.使用条件语句可以编写进行判断和重复操作的 VBScript 代码.在 VBScript 中可使用以下条件语句: · If...Then...Else 语句 · select Case 语句 使用 If...Then...Else 进行判断 If...Then...Else 语句用于计算条件是否为 True 或 False,并且根据计算结果指定要运行的语句.通常,条件是使用比较运算符对值或变量进行

  • VBScript教程 第十一课深入VBScript

    VB教程 > 第十一课深入VBScript 学习高级 VBScript 技术的最快方法是阅读大量的样例.同时更好地理解对象模型有助于深入学习 VBScript. 您可以从以下部分开始学习: ·ActiveX? 控件常见问题解答 ·页面样例 ·热点链接页面

  • VBScript教程 第十二课VBScript页面的简单样例

    一个简单页面 使用 Microsoft? Internet Explorer 可以查看用以下 HTML 代码制作的页面.如果单击页面上的按钮,可看到 VBScript 的运行结果. <HTML><HEAD><TITLE>一个简单首页</TITLE><SCRIPT LANGUAGE="VBScript"><!--Sub Button1_&#111nClickMsgBox "Mirabile visu.&q

  • VBScript教程 第十四课在VBScript中使用对象

    使用对象 无论使用的是 ActiveX? 控件(以前称为 OLE 控件)还是 Java? 对象,Microsoft Visual Basic Scripting Edition 和 Microsoft? Internet Explorer 都以相同的方式处理它们.如果您使用的是 Internet Explorer 并且 ActiveX 库中安装了这些控件,就会看到由以下代码制作的页面. <OBJECT> 标记用来包含对象,<PARAM> 标记用来设置对象属性的初始值.使用 <

随机推荐