VBScript 編碼約定 什麼是編碼約定? 編碼約定是幫助您使用
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 變量的作用域如下所示︰
|
作用域 |
前綴 |
示例 |
|
過程級 |
無 |
dblVelocity |
|
Script 級 |
s |
sblnCalcInProgress |
描述性變量名和過程名 變量名或過程名的主體應使用大小寫混合格式,並且盡量完整地描述其目的。另外,過程名應以動詞開始,例如
InitNameArray 或 CloseDialog。
對于經常使用的或較長的名稱,推薦使用標準縮寫以使名稱保持在適當的長度內。通常多于 32
個字符的變量名會變得難以閱讀。使用縮寫時,應確保在整個 Script中保持一致。例如,在一個 Script 或 Script
集中隨意切換 Cnt 和 Count 將造成混亂。
對象命名約定 下表列出了 VBScript 中可能用到的對象命名約定(推薦)︰
|
對象類型 |
前綴 |
示例 |
|
3D 面板 |
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
的概述,列舉對象、過程、運算法則、對話框和其他系統從屬物。有時一段描述運算法則的假碼是很有用的。 格式化代碼 應盡可能多地保留屏幕空間,但仍允許用代碼格式反映邏輯結構和嵌套。以下為幾點提示︰
標準嵌套塊應縮進 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
|