佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > VBS教程:VBScript 基礎(chǔ)-VBScript編碼約定

VBS教程:VBScript 基礎(chǔ)-VBScript編碼約定

熱門(mén)標(biāo)簽:智能手機(jī) 鐵路電話系統(tǒng) 網(wǎng)站文章發(fā)布 美圖手機(jī) 銀行業(yè)務(wù) 檢查注冊(cè)表項(xiàng) 呼叫中心市場(chǎng)需求 服務(wù)器配置

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 代碼中使用以下變量命名約定:

子類型前綴示例
BooleanblnblnFound
BytebytbytRasterData
Date (Time)dtmdtmStart
DoubledbldblTolerance
ErrorerrerrOrderNum
IntegerintintQuantity
LonglnglngDistance
ObjectobjobjCurrent
SinglesngsngAverage
StringstrstrFirstName

變量作用域

變量應(yīng)定義在盡量小的作用域中。VBScript 變量的作用域如下所示:

作用域聲明變量處可見(jiàn)性
過(guò)程級(jí)事件、函數(shù)或子過(guò)程。在聲明變量的過(guò)程中可見(jiàn)。
Script 級(jí)HTML 頁(yè)面的 HEAD 部分,任何過(guò)程之外。在腳本的所有過(guò)程中可見(jiàn)。

變量作用域前綴

隨著腳本代碼長(zhǎng)度的增加,有必要快速區(qū)分變量的作用域。在類型前綴前面添加一個(gè)單字符前綴可以實(shí)現(xiàn)這一點(diǎn),而不致使變量名過(guò)長(zhǎng)。

作用域前綴示例
過(guò)程級(jí)無(wú)dblVelocity
Script 級(jí)ssblnCalcInProgress

描述性變量名和過(guò)程名

變量名或過(guò)程名的主體應(yīng)使用大小寫(xiě)混合格式,并且盡量完整地描述其目的。另外,過(guò)程名應(yīng)以動(dòng)詞開(kāi)始,例如 InitNameArray 或 CloseDialog。

對(duì)于經(jīng)常使用的或較長(zhǎng)的名稱,推薦使用標(biāo)準(zhǔn)縮寫(xiě)以使名稱保持在適當(dāng)?shù)拈L(zhǎng)度內(nèi)。通常多于 32 個(gè)字符的變量名會(huì)變得難以閱讀。使用縮寫(xiě)時(shí),應(yīng)確保在整個(gè)腳本中保持一致。例如,在一個(gè)腳本或腳本集中隨意切換 Cnt 和 Count 將造成混亂。

對(duì)象命名約定

下表列出了 VBScript 中可能用到的對(duì)象命名約定(推薦):

對(duì)象類型前綴示例
3D 面板pnlpnlGroup
動(dòng)畫(huà)按鈕anianiMailBox
復(fù)選框chkchkReadOnly
組合框、下拉列表框cbocboEnglish
命令按鈕cmdcmdExit
公共對(duì)話框dlgdlgFileOpen
框架frafraLanguage
水平滾動(dòng)條hsbhsbVolume
圖像imgimgIcon
標(biāo)簽lbllblHelpMessage
直線linlinVertical
列表框lstlstPolicyCodes
旋鈕spnspnPages
文本框txttxtLastName
垂直滾動(dòng)條vsbvsbRate
滑塊sldsldScale

代碼注釋約定

所有過(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)部注釋,描述變量的用途。
  • 應(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

標(biāo)簽:新疆 長(zhǎng)治 上海 樂(lè)山 紅河 滄州 沈陽(yáng) 河南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBS教程:VBScript 基礎(chǔ)-VBScript編碼約定》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    龙南县| 喀什市| 淅川县| 石屏县| 大埔县| 景德镇市| 剑川县| 江北区| 高邑县| 建瓯市| 久治县| 当阳市| 平昌县| 扬中市| 靖远县| 岳阳县| 佛学| 庆元县| 康保县| 林芝县| 呼图壁县| 扶风县| 长兴县| 湘潭市| 偃师市| 连江县| 疏勒县| 始兴县| 延川县| 海南省| 辉南县| 新宾| 兴宁市| 沧源| 辽中县| 碌曲县| 淮南市| 泸水县| 环江| 晋州市| 贺兰县|