VBScript基礎教程之十VBScript編碼約定

來源:互聯網
上載者:User
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 變數的範圍如下所示:

範圍 聲明變數處 可見度
過程級 事件、函數或子過程 在聲明變數的過程中可見
Script 級 HTML 頁面的 HEAD 部分,任何過程之外 在 Script 的所有過程中可見


變數範圍首碼

隨著 Script 代碼長度的增加,有必要快速區分變數的範圍。在類型首碼前面添加一個單字元首碼可以實現這一點,而不致使變數名過長。

範圍 首碼 樣本
過程級 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

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。