分享
 
 
 

VBScript教程 第十课 VBScript编码约定

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

什么是编码约定?

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

·对象、变量和过程的命名约定

·注释约定

·文本格式和缩进指南

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

常数命名约定

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 部分,任何过程之外在 Script 的所有过程中可见

变量作用域前缀

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

作用域前缀示例

过程级无dblVelocity

Script 级ssblnCalcInProgress

描述性变量名和过程名

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

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

对象命名约定

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

对象类型前缀示例

3D 面板pnlpnlGroup

动画按钮anianiMailBox

复选框chkchkReadOnly

组合框、下拉列表框cbocboEnglish

命令按钮cmdcmdExit

公共对话框dlgdlgFileOpen

框架frafraLanguage

水平滚动条hsbhsbVolume

图像imgimgIcon

标签lbllblHelpMessage

直线linlinVertical

列表框lstlstPolicyCodes

旋钮spnspnPages

文本框txttxtLastName

垂直滚动条vsbvsbRate

滑块sldsldScale

代码注释约定

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

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

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

区段标题注释内容

目的过程的功能(不是实现功能的方法)。

假设其状态影响此过程的外部变量、控件或其他元素的列表。

效果过程对每个外部变量、控件或其他元素的影响效果的列表。

输入每个目的不明显的参数的解释。每个参数都应占据单独一行并有其内部注释。

返回返回值的解释。

请记住以下几点:

·每个重要的变量声明都应有内部注释,描述变量的用途。

·应清楚地命名变量、控件和过程,仅在说明复杂细节时需要内部注释。

·应在 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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有