首页 > 开发 > 综合 > 正文

VBScript 编码约定

2024-07-21 02:15:29
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 什么是编码约定?

    编码约定是帮助您使用 microsoft visual basic scripting edition 编写代码的一些建议。编码约定包含以下内容:

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

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

    常数命名约定

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

    user_list_max new_line

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

    conyourownconstant
    变量命名约定

    出于易读和一致性的目的,请在 vbscript 代码中使用以下变量命名约定:

    子类型前缀示例booleanblnblnfoundbytebytbytrasterdatadate (time)dtmdtmstartdoubledbldbltoleranceerrorerrerrordernumintegerintintquantitylonglnglngdistanceobjectobjobjcurrentsinglesngsngaveragestringstrstrfirstname
    变量作用域

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

    作用域声明变量处可见性过程级事件、函数或子过程在声明变量的过程中可见script 级html 页面的 head 部分,任何过程之外在 script 的所有过程中可见
    变量作用域前缀

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

    作用域前缀示例过程级无dblvelocityscript 级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

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表