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


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱(chēng)qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?