VBS教程:VBScript 基礎(chǔ)-VBScript編碼約定
VBScript編碼約定
編碼約定是幫助您使用 Microsoft Visual Basic Scripting Edition 編寫代碼的一些建議。編碼約定包含以下內(nèi)容:
- 對象、變量和過程的命名約定
- 注釋約定
- 文本格式和縮進(jìn)指南
使用一致的編碼約定的主要原因是使腳本或腳本集的結(jié)構(gòu)和編碼樣式標(biāo)準(zhǔn)化,這樣代碼易于閱讀和理解。使用好的編碼約定可以使源代碼明白、易讀、準(zhǔn)確,更加直觀且與其他語言約定保持一致。
常數(shù)命名約定
VBScript 的早期版本不允許創(chuàng)建用戶自定義常數(shù)。如果要使用常數(shù),則常數(shù)以變量的方式實現(xiàn),且全部字母大寫以和其他變量區(qū)分。常數(shù)名中的多個單詞用下劃線 (_) 分隔。例如:
USER_LIST_MAX NEW_LINE這種標(biāo)識常數(shù)的方法依舊可行,但您還可以選擇其他方案,用 Const 語句創(chuàng)建真正的常數(shù)。這個約定使用大小寫混合的格式,并以“con”作為常數(shù)名的前綴。例如:
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 |
變量作用域
變量應(yīng)定義在盡量小的作用域中。VBScript 變量的作用域如下所示:
| 作用域 | 聲明變量處 | 可見性 |
|---|---|---|
| 過程級 | 事件、函數(shù)或子過程。 | 在聲明變量的過程中可見。 |
| Script 級 | HTML 頁面的 HEAD 部分,任何過程之外。 | 在腳本的所有過程中可見。 |
變量作用域前綴
隨著腳本代碼長度的增加,有必要快速區(qū)分變量的作用域。在類型前綴前面添加一個單字符前綴可以實現(xiàn)這一點,而不致使變量名過長。
| 作用域 | 前綴 | 示例 |
|---|---|---|
| 過程級 | 無 | dblVelocity |
| Script 級 | s | sblnCalcInProgress |
描述性變量名和過程名
變量名或過程名的主體應(yīng)使用大小寫混合格式,并且盡量完整地描述其目的。另外,過程名應(yīng)以動詞開始,例如 InitNameArray 或 CloseDialog。
對于經(jīng)常使用的或較長的名稱,推薦使用標(biāo)準(zhǔn)縮寫以使名稱保持在適當(dāng)?shù)拈L度內(nèi)。通常多于 32 個字符的變量名會變得難以閱讀。使用縮寫時,應(yīng)確保在整個腳本中保持一致。例如,在一個腳本或腳本集中隨意切換 Cnt 和 Count 將造成混亂。
對象命名約定
下表列出了 VBScript 中可能用到的對象命名約定(推薦):
| 對象類型 | 前綴 | 示例 |
|---|---|---|
| 3D 面板 | pnl | pnlGroup |
| 動畫按鈕 | ani | aniMailBox |
| 復(fù)選框 | chk | chkReadOnly |
| 組合框、下拉列表框 | cbo | cboEnglish |
| 命令按鈕 | cmd | cmdExit |
| 公共對話框 | dlg | dlgFileOpen |
| 框架 | fra | fraLanguage |
| 水平滾動條 | hsb | hsbVolume |
| 圖像 | img | imgIcon |
| 標(biāo)簽 | lbl | lblHelpMessage |
| 直線 | lin | linVertical |
| 列表框 | lst | lstPolicyCodes |
| 旋鈕 | spn | spnPages |
| 文本框 | txt | txtLastName |
| 垂直滾動條 | vsb | vsbRate |
| 滑塊 | sld | sldScale |
代碼注釋約定
所有過程的開始部分都應(yīng)有描述其功能的簡要注釋。這些注釋并不描述細(xì)節(jié)信息(如何實現(xiàn)功能),這是因為細(xì)節(jié)有時要頻繁更改。這樣就可以避免不必要的注釋維護(hù)工作以及錯誤的注釋。細(xì)節(jié)信息由代碼本身及必要的內(nèi)部注釋來描述。
當(dāng)傳遞給過程的參數(shù)的用途不明顯,或過程對參數(shù)的取值范圍有要求時,應(yīng)加以說明。如果過程改變了函數(shù)和變量的返回值(特別是通過參數(shù)引用來改變),也應(yīng)在過程的開始部分描述該返回值。
過程開始部分的注釋應(yīng)包含以下區(qū)段標(biāo)題。相關(guān)樣例,請參閱后面的“格式化代碼”部分。
| 區(qū)段標(biāo)題 | 注釋內(nèi)容 |
|---|---|
| 目的 | 過程的功能(不是實現(xiàn)功能的方法)。 |
| 假設(shè) | 其狀態(tài)影響此過程的外部變量、控件或其他元素的列表。 |
| 效果 | 過程對每個外部變量、控件或其他元素的影響效果的列表。 |
| 輸入 | 每個目的不明顯的參數(shù)的解釋。每個參數(shù)都應(yīng)占據(jù)單獨一行并有其內(nèi)部注釋。 |
| 返回 | 返回值的解釋。 |
請記住以下幾點:
- 每個重要的變量聲明都應(yīng)有內(nèi)部注釋,描述變量的用途。
- 應(yīng)清楚地命名變量、控件和過程,僅在說明復(fù)雜細(xì)節(jié)時需要內(nèi)部注釋。
- 應(yīng)在腳本的開始部分包含描述該腳本的概述,列舉對象、過程、運算法則、對話框和其他系統(tǒng)從屬物。有時一段描述運算法則的假碼是很有用的。
格式化代碼
應(yīng)盡可能多地保留屏幕空間,但仍允許用代碼格式反映邏輯結(jié)構(gòu)和嵌套。以下為幾點提示:
- 標(biāo)準(zhǔn)嵌套塊應(yīng)縮進(jìn) 4 個空格。
- 過程的概述注釋應(yīng)縮進(jìn) 1 個空格。
- 概述注釋后的最高層語句應(yīng)縮進(jìn) 4 個空格,每一層嵌套塊再縮進(jìn) 4 個空格。例如:
'*********************************************************' 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 LoopEnd Function
相關(guān)文章
vbs實用軟件自造——Windows腳本應(yīng)用實例
vbs實用軟件自造——Windows腳本應(yīng)用實例...2007-02-02
VBS實現(xiàn)將字符串寫入剪切板的實現(xiàn)代碼
VBS實現(xiàn)將字符串寫入剪切板的實現(xiàn)代碼,需要的朋友可以參考下。2012-01-01
使用 Iisext.vbs 列出 Web 服務(wù)擴展文件的方法
這篇文章主要介紹了如何使用 iisext.vbs 在本地或遠(yuǎn)程計算機上列出 Web 服務(wù)擴展文件,需要的朋友可以參考下2014-07-07
vbs TLI.TLIApplication 被遺忘的COM組件
TLI.TLIApplication是一個能獲取COM組件Type Library Information(類型庫信息)的COM組件。2011-01-01

