Microsoft® Visual Basic® Scripting Edition
VBScript のコード記述規則
目次  |
前ページ  |

 

コード記述規則とは ?
コード記述規則は、Microsoft Visual Basic Scripting Edition (以下 VBScript) でわかりやすいコードを記述するためのガイドラインです。コード記述規則には次のものがあります。 コード記述規則を使ってソースコードを記述すると、スクリプトの構造とコード形式が標準化されるため、スクリプトの開発者および他の開発者がコードを参照し、容易に理解できるソースコードを作成できます。

定数の名前付け規則
定数の名前には大文字を使用し、語句の間にアンダースコア (_) をつけます。次に例を示します。


 USER_LIST_MAX
 NEW_LINE

変数の名前付け規則
一貫性があってわかりやすいコードを作成するために、VBScript のコードでは変数の内容を表す名前と共に次の表に示すプリフィックスを使用します。

内部処理形式 プリフィックス 使用例
ブール型 bln blnFound
バイト型 byt bytRasterData
日付型 (時刻) dtm dtmStart
倍精度浮動小数点数型 dbl dblTolerance
エラー型 err errOrderNum
整数型 int intQuantity
長整数型 lng lngDistance
オブジェクト型 obj objCurrent
単精度浮動小数点数型 sng sngAverage
文字列型 str strFirstName

変数の適用範囲
変数はできる限り小さな適用範囲を持つように指定する必要があります。VBScript 変数の適用範囲は次のとおりです。

適用範囲 変数の宣言場所 参照可能範囲
プロシージャ レベル イベント プロシージャ、Function プロシージャ、または Sub プロシージャ 宣言されたプロシージャ内で参照可能
スクリプト レベル HTML ページの HEAD セクション、プロシージャの外部 スクリプト内のどのプロシージャからも参照可能

変数の適用範囲を示すプリフィックス
スクリプトのサイズが大きくなると、変数の適用範囲を簡単に区別する値が必要になります。データ型を表すプリフィックスの前に適用範囲を示すプリフィックスを追加すると、変数の適用範囲を区別できます。

適用範囲 プリフィックス 使用例
プロシージャ レベル なし dblVelocity
スクリプト レベル s sblnCalcInProgress

内容を表す変数とプロシージャの名前
変数またはプロシージャの名前の本体部分には、用途を表す完結した名前を大文字と小文字を使用して付ける必要があります。 さらに、プロシージャ名は InitNameArray または CloseDialog のように動詞で始める必要があります。

名前が頻繁に使用される場合、または長期間にわたって使用される場合は、標準的な省略形を使用して名前の長さを適度な長さにすることをお勧めします。 一般的に、変数名は 32 文字を超えると読みにくくなります。

省略形を使用する場合は、必ずスクリプト全体で統一してください。 たとえば、1 つまたは複数のスクリプト内で Cnt と Count を混在させると混乱が生じます。

オブジェクトの名前付け規則
次の表は、各オブジェクトに対して推奨されている名前付け規則を示します。

オブジェクト プリフィックス 使用例
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

コメントの記述規則
各プロシージャの先頭には、その機能を示す簡単なコメントを記述する必要があります。機能の実現方法についての詳細を記述する必要はありません。プロシージャのコードは繰り返し変更されるので、不要なコメントや間違ったコメントを削除する保守作業が必要になります。

プロシージャに渡す引数の用途が不明確な場合やプロシージャが特定の範囲内の引数を必要とする場合には、引数についてもコメントを記述する必要があります。また、関数が返す値や引数を参照することによりプロシージャ内で変更されるその他の変数についても、プロシージャの先頭にコメントを記述します。

プロシージャの先頭のコメントには次のようなセクションの見出しを付けます。次の「コードに書式を設定する」セクションの例を参照してください。

セクションの見出し コメントの内容
用途 何をするプロシージャか。
外部からの影響 状況によってプロシージャに影響を与える外部の変数、コントロール、およびその他の要素の一覧。
外部への影響 外部の変数、コントロール、およびその他の要素に対するプロシージャの影響の一覧。
受け取る値 不明確な各引数の説明。各引数はそれぞれ別の行にインライン コメントを付けて記述します。
戻り値 返される値の説明。
次の点を留意しておいてください。

コードに形式を設定する
画面領域はできる限り節約する必要がありますが、論理構造およびネストがわかるようにコードの形式を整えることはできます。次にいくつかのヒントを示します。

 '*********************************************************
 '  用途:            配列 UserList 内で指定したユーザーに最初に
 '            該当するユーザーを検索します。
 '  受け取る値:  strUserList():  検索対象のユーザーのリスト。
 '            strTargetUser:  検索するユーザーの名前。
 '  戻り値:          配列 strUserList 内で strTargetUser に最初に
 '            該当したユーザーのインデックス番号。
 '            該当するユーザーが見つからない場合は、-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


© 1997 Microsoft Corporation.