VBS教程:VBScript 基础-VBScript编码约定

所属分类: 脚本专栏 / vbs 阅读数: 856
收藏 0 赞 0 分享

VBScript编码约定

编码约定是帮助您使用 Microsoft Visual Basic Scripting Edition 编写代码的一些建议。编码约定包含以下内容:

  • 对象、变量和过程的命名约定
  • 注释约定
  • 文本格式和缩进指南

使用一致的编码约定的主要原因是使脚本或脚本集的结构和编码样式标准化,这样代码易于阅读和理解。使用好的编码约定可以使源代码明白、易读、准确,更加直观且与其他语言约定保持一致。

常数命名约定

VBScript 的早期版本不允许创建用户自定义常数。如果要使用常数,则常数以变量的方式实现,且全部字母大写以和其他变量区分。常数名中的多个单词用下划线 (_) 分隔。例如:

 USER_LIST_MAX NEW_LINE

这种标识常数的方法依旧可行,但您还可以选择其他方案,用 Const 语句创建真正的常数。这个约定使用大小写混合的格式,并以“con”作为常数名的前缀。例如:

 conYourOwnConstant

变量命名约定

为提高易读和一致性,请在 VBScript 代码中使用以下变量命名约定:

子类型前缀示例
BooleanblnblnFound
BytebytbytRasterData
Date (Time)dtmdtmStart
DoubledbldblTolerance
ErrorerrerrOrderNum
IntegerintintQuantity
LonglnglngDistance
ObjectobjobjCurrent
SinglesngsngAverage
StringstrstrFirstName

变量作用域

变量应定义在尽量小的作用域中。VBScript 变量的作用域如下所示:

作用域声明变量处可见性
过程级事件、函数或子过程。在声明变量的过程中可见。
Script 级HTML 页面的 HEAD 部分,任何过程之外。在脚本的所有过程中可见。

变量作用域前缀

随着脚本代码长度的增加,有必要快速区分变量的作用域。在类型前缀前面添加一个单字符前缀可以实现这一点,而不致使变量名过长。

作用域前缀示例
过程级dblVelocity
Script 级ssblnCalcInProgress

描述性变量名和过程名

变量名或过程名的主体应使用大小写混合格式,并且尽量完整地描述其目的。另外,过程名应以动词开始,例如 InitNameArray 或 CloseDialog。

对于经常使用的或较长的名称,推荐使用标准缩写以使名称保持在适当的长度内。通常多于 32 个字符的变量名会变得难以阅读。使用缩写时,应确保在整个脚本中保持一致。例如,在一个脚本或脚本集中随意切换 Cnt 和 Count 将造成混乱。

对象命名约定

下表列出了 VBScript 中可能用到的对象命名约定(推荐):

对象类型前缀示例
3D 面板pnlpnlGroup
动画按钮anianiMailBox
复选框chkchkReadOnly
组合框、下拉列表框cbocboEnglish
命令按钮cmdcmdExit
公共对话框dlgdlgFileOpen
框架frafraLanguage
水平滚动条hsbhsbVolume
图像imgimgIcon
标签lbllblHelpMessage
直线linlinVertical
列表框lstlstPolicyCodes
旋钮spnspnPages
文本框txttxtLastName
垂直滚动条vsbvsbRate
滑块sldsldScale

代码注释约定

所有过程的开始部分都应有描述其功能的简要注释。这些注释并不描述细节信息(如何实现功能),这是因为细节有时要频繁更改。这样就可以避免不必要的注释维护工作以及错误的注释。细节信息由代码本身及必要的内部注释来描述。

当传递给过程的参数的用途不明显,或过程对参数的取值范围有要求时,应加以说明。如果过程改变了函数和变量的返回值(特别是通过参数引用来改变),也应在过程的开始部分描述该返回值。

过程开始部分的注释应包含以下区段标题。相关样例,请参阅后面的“格式化代码”部分。

区段标题注释内容
目的过程的功能(不是实现功能的方法)。
假设其状态影响此过程的外部变量、控件或其他元素的列表。
效果过程对每个外部变量、控件或其他元素的影响效果的列表。
输入每个目的不明显的参数的解释。每个参数都应占据单独一行并有其内部注释。
返回返回值的解释。

请记住以下几点:

  • 每个重要的变量声明都应有内部注释,描述变量的用途。
  • 应清楚地命名变量、控件和过程,仅在说明复杂细节时需要内部注释。
  • 应在脚本的开始部分包含描述该脚本的概述,列举对象、过程、运算法则、对话框和其他系统从属物。有时一段描述运算法则的假码是很有用的。

格式化代码

应尽可能多地保留屏幕空间,但仍允许用代码格式反映逻辑结构和嵌套。以下为几点提示:

  • 标准嵌套块应缩进 4 个空格。
  • 过程的概述注释应缩进 1 个空格。
  • 概述注释后的最高层语句应缩进 4 个空格,每一层嵌套块再缩进 4 个空格。例如:
'*********************************************************' Purpose: Locates the first occurrence of a specified user '          in the UserList array.' Inputs: strUserList(): the list of users to be searched.'         strTargetUser: the name of the user to search for.' Returns: The index of the first occurrence of the strTargetUser '          in the strUserList array. '          If the target user is not found, return -1.'*********************************************************Function intFindUser (strUserList(), strTargetUser)   Dim i   ' Loop counter.   Dim blnFound   ' Target found flag   intFindUser = -1   i = 0   ' Initialize loop counter   Do While i <= Ubound(strUserList) and Not blnFound      If strUserList(i) = strTargetUser Then          blnFound = True   ' Set flag to True         intFindUser = i   ' Set return value to loop count      End If      i = i + 1   ' Increment loop counter   LoopEnd Function

更多精彩内容其他人还在看

vbscript禁用 启用fso的方法

启用:regsvr32 scrrun.dll 禁用:regsvr32 /u scrrun.dll
收藏 0 赞 0 分享

getSQLinfo.vbs 获得SQL数据/日志空间使用情况的脚本

这个脚本可以获取SQL数据/日志的空间使用情况方便及时了解sql使用空间情况
收藏 0 赞 0 分享

高手必看的vbs的至尊境界

vbs高手总结出来的,看来我们真忽略了他的真正强大的地方
收藏 0 赞 0 分享

vbs 获取radmin注册表中的信息

用这个脚本真的很方便,轻松的获取radmin注册表中的信息 ,想想以前我们都是用cmd下导出注册表信息
收藏 0 赞 0 分享

vbs解答一道初中数学题i,x,y

vbs解答 一道初中数学题 i+100=x^2 i+168=y^2 求 i,x,y
收藏 0 赞 0 分享

vbs之自动安装驱动程序

目前各类万能驱动程序包在网络上屡见发布,在使用这些程序包的同时,我们不仅会问:为什么这些程序包中的驱动程序可以在安装新硬件之后自动安装呢?
收藏 0 赞 0 分享

vbs Windows系统改变或修改网卡的MAC地址的脚本与软件

这个文件比程序本身还大,感觉不爽,于是本人的VBS版MAC修改代码便诞生了,在使用过程中如果出现不能上网的情况得返回一下网卡驱动(有些机器比较特别)
收藏 0 赞 0 分享

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的代码

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的,没有使用WMI,所以在操作前先得停止IIS相关服务
收藏 0 赞 0 分享

VBS利用SendKeys输入中文字符的方法

Author:Trajon.BWL今天在网上随便闲逛,逛到一个帖子,这位迷茫的朋友想知道该怎么使用SendKeys的vbs方法来输入中文字符
收藏 0 赞 0 分享

vbs加administrator用户的代码

使用ADSI的Winnt对象,Windows2000后面的系统都属于NT系列
收藏 0 赞 0 分享
查看更多