VBScript Coding Conventions

Updated: April 2009

Coding conventions are suggestions that are designed to help you write code using Microsoft Visual Basic Scripting Edition (VBScript). Coding conventions can include the following:

  • Naming conventions for objects, variables, and procedures

  • Commenting conventions

  • Text formatting and indenting guidelines

The main reason for using a consistent set of coding conventions is to standardize the structure and coding style of a script or set of scripts so that you and others can easily read and understand the code. Using good coding conventions results in clear, precise, and readable source code that is consistent with other language conventions and is intuitive.

To enhance readability and consistency, you might encounter the following prefixes with descriptive names for variables in your VBScript code.

Subtype

Prefix

Example

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

Variables should always be defined with the smallest scope possible. VBScript variables can have the following scope.

Scope

Where Variable Is Declared

Visibility

Procedure-level

Event, Function, or Sub procedure.

Visible in the procedure in which it is declared.

Script-level

HEAD section of an HTML page, outside any procedure.

Visible in every procedure in the script.

As script size grows, so does the value of being able to quickly differentiate the scope of variables. A one-letter scope prefix preceding the type prefix provides this, without unduly increasing the size of variable names.

Scope

Prefix

Example

Procedure-level

None

dblVelocity

Script-level

s

sblnCalcInProgress

The body of a variable or procedure name should use mixed case and should be as descriptive as necessary. In addition, procedure names should begin with a verb, such as InitNameArray or CloseDialog.

When using abbreviations, make sure they are consistent throughout the entire script. For example, randomly switching between Cnt and Count within a script or set of scripts may lead to confusion.

You might encounter the following conventions for objects while programming with VBScript.

Object type

Prefix

Example

3D Panel

pnl

pnlGroup

Animated button

ani

aniMailBox

Check box

chk

chkReadOnly

Combo box, drop-down list box

cbo

cboEnglish

Command button

cmd

cmdExit

Common dialog

dlg

dlgFileOpen

Frame

fra

fraLanguage

Horizontal scroll bar

hsb

hsbVolume

Image

img

imgIcon

Label

lbl

lblHelpMessage

Line

lin

linVertical

List Box

lst

lstPolicyCodes

Spin

spn

spnPages

Text box

txt

txtLastName

Vertical scroll bar

vsb

vsbRate

Slider

sld

sldScale

All procedures should begin with a brief comment describing what they do. This description should not describe the implementation details (how it does it) because these often change over time, resulting in unnecessary comment maintenance work, or worse, erroneous comments. The code itself and any necessary inline comments describe the implementation.

Arguments passed to a procedure should be described when their purpose is not obvious and when the procedure expects the arguments to be in a specific range. Return values for functions and variables that are changed by a procedure, especially through reference arguments, should also be described at the beginning of each procedure.

Procedure header comments might include the following section headings. For examples, see the "Formatting Your Code" section that follows.

Section Heading

Comment Contents

Purpose

What the procedure does (not how).

Assumptions

List of any external variable, control, or other element whose state affects this procedure.

Effects

List of the procedure's effect on each external variable, control, or other element.

Inputs

Explanation of each argument that is not obvious. Each argument should be on a separate line with inline comments.

Return Values

Explanation of the value returned.

Remember the following points:

  • Variables, controls, and procedures should be named clearly to ensure that inline comments are only needed for complex implementation details.

  • At the beginning of your script, you should include an overview that describes the script, enumerating objects, procedures, algorithms, dialog boxes, and other system dependencies. Sometimes a piece of pseudocode describing the algorithm can be helpful.

Screen space should be conserved as much as possible, while still allowing code formatting to reflect logic structure and nesting. Here are a few suggestions:

  • Indent standard nested blocks four spaces.

  • Indent the overview comments of a procedure one space.

The following code adheres to VBScript coding conventions.

'*********************************************************
' 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
    Loop
End Function

Date

History

Reason

April 2009

Modified several sections.

Information enhancement.

Community Additions

Show: