編碼約定是幫助您使用 Microsoft Visual Basic Scripting Edition 編寫代碼的一些建議
編碼約定包含以下內容
·對象
變量和過程的命名約定
·注釋約定
·文本格式和縮進指南
使用一致的編碼約定的主要原因是使 Script 或 Script 集的結構和編碼樣式標准化
這樣代碼易於閱讀和理解
使用好的編碼約定可以使源代碼明白
易讀
准確
更加直觀且與其他語言約定保持一致
常數命名約定
VBScript 的早期版本不允許創建用戶自定義常數
如果要使用常數
則常數以變量的方式實現
且全部字母大寫以和其他變量區分
常數名中的多個單詞用下劃線 (_) 分隔
例如
USER_LIST_MAX
NEW_LINE
這種標識常數的方法依舊可行
但您還可以選擇其他方案
用 Const 語句創建真正的常數
這個
約定使用大小寫混合的格式
並以
con
作為常數名的前綴
例如
conYourOwnConstant
變量命名約定
出於易讀和一致性的目的
請在 VBScript 代碼中使用以下變量命名約定
子類型
前綴
示例
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
變量作用域
變量應定義在盡量小的作用域中
VBScript 變量的作用域如下所示
作用域
聲明變量處
可見性
過程級
事件
函數或子過程
在聲明變量的過程中可見
Script 級
HTML 頁面的 HEAD 部分
任何過程之外
在 Script 的所有過程中可見
變量作用域前綴
隨著 Script 代碼長度的增加
有必要快速區分變量的作用域
在類型前綴前面添加一個單字符前綴可以實現這一點
而不致使變量名過長
作用域
前綴
示例
過程級
無
dblVelocity
Script 級
s
sblnCalcInProgress
描述性變量名和過程名
變量名或過程名的主體應使用大小寫混合格式
並且盡量完整地描述其目的
另外
過程名應以動詞開始
例如 InitNameArray 或 CloseDialog
對於經常使用的或較長的名稱
推薦使用標准縮寫以使名稱保持在適當的長度內
通常多於
個字符的變量名會變得難以閱讀
使用縮寫時
應確保在整個 Script 中保持一致
例如
在一個 Script 或 Script 集中隨意切換 Cnt 和 Count 將造成混亂
對象命名約定
下表列出了 VBScript 中可能用到的對象命名約定(推薦)
對象類型
前綴
示例
D 面板
pnl
pnlGroup
動畫按鈕
ani
aniMailBox
復選框
chk
chkReadOnly
組合框
下拉列表框
cbo
cboEnglish
命令按鈕
cmd
cmdExit
公共對話框
dlg
dlgFileOpen
框架
fra
fraLanguage
水平滾動條
hsb
hsbVolume
圖像
img
imgIcon
標簽
lbl
lblHelpMessage
直線
lin
linVertical
列表框
lst
lstPolicyCodes
旋鈕
spn
spnPages
文本框
txt
txtLastName
垂直滾動條
vsb
vsbRate
滑塊
sld
sldScale
代碼注釋約定
所有過程的開始部分都應有描述其功能的簡要注釋
這些注釋並不描述細節信息(如何實現功能)
這是因為細節有時要頻繁更改
這樣就可以避免不必要的注釋維護工作以及錯誤的注釋
細節信息由代碼本身及必要的內部注釋來描述
當傳遞給過程的參數的用途不明顯
或過程對參數的取值范圍有要求時
應加以說明
如果過程改變了函數和變量的返回值(特別是通過參數引用來改變)
也應在過程的開始部分描述該返回值
過程開始部分的注釋應包含以下區段標題
相關樣例
請參閱後面的
格式化代碼
部分
區段標題
注釋內容
目的
過程的功能(不是實現功能的方法)
假設
其狀態影響此過程的外部變量
控件或其他元素的列表
效果
過程對每個外部變量
控件或其他元素的影響效果的列表
輸入
每個目的不明顯的參數的解釋
每個參數都應占據單獨一行並有其內部注釋
返回
返回值的解釋
請記住以下幾點
·每個重要的變量聲明都應有內部注釋
描述變量的用途
·應清楚地命名變量
控件和過程
僅在說明復雜細節時需要內部注釋
·應在 Script 的開始部分包含描述該 Script 的概述
列舉對象
過程
運算法則
對話框和其他系統從屬物
有時一段描述運算法則的假碼是很有用的
格式化代碼
應盡可能多地保留屏空間
但仍允許用代碼格式反映邏輯結構和嵌套
以下為幾點提示
·標准嵌套塊應縮進
個空格
·過程的概述注釋應縮進
個空格
·概述注釋後的最高層語句應縮進
個空格
每一層嵌套塊再縮進
個空格
例如
*********************************************************
目的
返回指定用戶在 UserList 數組中第一次出現的位置
輸入
strUserList(): 所查找的用戶列表
strTargetUser: 要查找的用戶名
返回
strTargetUser 在 strUserList 數組中第一次出現時的索引
如果目標用戶未找到
返回
*********************************************************
Function intFindUser (strUserList()
strTargetUser)
Dim i
循環計數器
Dim blnFound
發現目標的標記
intFindUser =
i =
初始化循環計數器
Do While i <= Ubound(strUserList) and Not blnFound
If strUserList(i) = strTargetUser Then
blnFound = True
標記設為 True
intFindUser = i
返回值設為循環計數器
End If
i = i +
循環計數器加
Loop
End Function
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19577.html