VBScript Coding Conventions
You can read and download this VBScript Coding Conventions coding style guide, coding standard, code
guideline, manual or reference from here for free at your own risk. All trademarks, registered trademarks,
product names and company names or logos mentioned herein are the property of their respective owners.
VBScript Coding Conventions
What Are Coding Conventions?
Coding conventions are suggestions that may help you write code
using Microsoft Visual Basic Scripting Edition. Coding conventions can include
Constant Naming Conventions
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
precise, readable, and unambiguous source code that is consistent with other
language conventions and as intuitive as possible.
- Naming conventions for objects, variables, and procedures
- Commenting conventions
- Text formatting and indenting guidelines
Earlier versions of VBScript had no mechanism for creating
user-defined constants. Constants, if used, were implemented as variables and
distinguished from other variables using all uppercase characters. Multiple
words were separated using the underscore (_) character. For example:
Variable Naming Conventions
While this is still an acceptable way to indentify
your constants, you may want to use an alternative naming scheme, now that you
can create true constants using the Const
statement. This convention uses a mixed-case format in which constant names
have a "con" prefix. For example:
For purposes of readability and consistency, use the following
prefixes with descriptive names for variables in your VBScript code.
Variables should always be defined with the smallest scope
possible. VBScript variables can
have the following scope.
Descriptive Variable and Procedure Names
Variable Scope PrefixesAs 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.
||Where Variable Is Declared
||Event, Function, or Sub procedure
||Visible in the procedure in which it is
||HEAD section of an HTML page, outside any
||Visible in every procedure in the
The body of a variable or procedure name should use mixed case and
should be as complete as necessary to describe its purpose. In addition,
procedure names should begin with a verb, such as InitNameArray or
Object Naming Conventions
For frequently used or long terms, standard abbreviations are recommended
to help keep name length reasonable. In general, variable names greater than
32 characters can be difficult to read. 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
The following table lists recommended conventions for objects you
may encounter while programming VBScript.
Code Commenting Conventions
|Combo box, drop-down list box
|Horizontal scroll bar
|Vertical scroll bar
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.
Formatting Your Code
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 should include the following section headings.
For examples, see the "Formatting Your Code" section that follows.
Remember the following points:
||What the procedure does (not how).
||List of any external variable, control, or other
element whose state affects this procedure.
||List of the procedure's effect on each external
variable, control, or other element.
||Explanation of each argument that isn't obvious. Each
argument should be on a separate line with inline comments.
||Explanation of the value
- Every important variable declaration should include an inline comment
describing the use of the variable being declared.
- Variables, controls, and procedures should be named clearly enough 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
- Standard nested blocks should be indented four spaces.
- The overview comments of a procedure should be indented one space.
- The highest level statements that follow the overview comments should be
indented four spaces, with each nested block indented an additional four
spaces. For example:
' 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
i = i + 1 ' Increment loop counter
Do not format VBScript code by hand any more, Try SourceFormatX VBScript Code Formatter to format all VBScript code for you.