VB Script Best Practices
Deloitte Consulting LLP
Date : Sep 5, 2013
Agenda
Best Scripting Practices
Naming conventions for objects, variables, and procedures
Commenting conventions
Text formatting and indenting guidelines
VBScripting Best Practises or Coding Conventions
Coding conventions are suggestions are designed to help you write code using Microsoft Visual
Basic Scripting Edition. 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
-2-
Constant Naming Conventions
Constants, if used, were implemented as variables and distinguished from other variables using
all uppercase characters.
Multiple words were separated using the underscore (_) character.
Example :
-3-
Test Automation Basics v.1.ppt
USER_LIST_MAX
NEW_LINE
Variable Naming Conventions
To enhance readability and consistency, use 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
-4-
Descriptive Variable and Procedure Names
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.
For frequently used or long terms, standard abbreviations are recommended to help
keep name length reasonable
When using abbreviations, make sure they are consistent throughout the entire script
As an example, randomly switching between Cnt and Count within a script or set of
scripts may lead to confusion. Either Cnt or Count to be used for the entire script.
-5-
Object Naming Conventions
Below table lists recommended conventions for objects you may encounter while programming
VBScript.
Object type
Prefix
Example
Check box
chk
chkReadOnly
Combo box, drop-down list box
cbo
cboStates
Button
btn
btnYes
Common dialog
dlg
dlgClose
Frame
fra
frmNews
Image
img
imgPoster
Label
lbl
lblName
List Box
lst
lstCountries
Text box
txt
txtEnterName
-6-
Code Commenting Conventions
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.
Section Heading
Purpose
Assumptions
Effects
Inputs
Return Values
Comment Contents
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 is not obvious. Each argument
should be on a separate line with inline comments.
Explanation of the value returned.
-7-
Code Commenting Conventions Continued
Remember the following points:
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 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
Formatting Your Code
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.
Indent the highest level statements that follow the overview comments four spaces, with each nested block indented an
additional four spaces.
-8-
Example
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
-9-
Questions ???
- 10 -