VBコーディング規約

1.開発基本

  詳細 必須 注意 推奨
1 開発IDEの「オプション」の「編集」タブの「変数の宣言を強制する」がオンになっている。    
2 開発IDEの「オプション」の「編集」タブの「タブ間隔」は「4」になっている。    
3 開発IDEの「オプション」の「全般」タブのグリット単位は縦・横共に「60」になってる。    
4 開発IDEのプロパティウインドウ上で事前に設定できる値はプロパティウインドウ上で設定しておく。ロジックではコーディングしない。    
5 変数名、コントロール名等の命名は別紙「VBコーディング命名規約」に従う。    
6 画面設計は別紙「VB画面設計規約」に従う。    
7 DBアクセスのロジックは別紙「OO4Oコーディング標準」に従う。    

2. プロジェクト関連

  詳細 必須 注意 推奨
1 プロジェクトのプロパティで「全般」の「スタートアップの設定」は「Sub Main」にしておく。メインモジュール(basMain.bas)に「Sub Main」を記述する。    
2 プロジェクトのプロパティで「実行可能ファイルの作成」の「自動インクリメント」はオンにしておく。    
3 Mainプロシージャで当システムが起動する上で必要な条件は全て事前に行う。
二重起動防止 , DB接続 等。
   
4 フォーム名(nameプロパティ)、モジュール名等のそれを保存するファイル名(拡張子は除く)と同じにする。    





3. コーディング関連

  詳細 必須 注意 推奨
1 位置が揃えれる所は出来るだけ揃える。    
2 段落名は1桁目からとする。命令ステートメントは5桁目からとする。    
3 必要に応じてタブ(空白4桁)を投入し、処理レベルがわかるようにする。    
4 IF文は極力、3個を超える入れ子にしない。    
5 IF文が3個を超える入れ子になるときはELSEIF、又はCASE文でコーディング出来ないか検討する。    
6 同じコントロール、又はオブジェクトを連続して使用する時はWith文を使用する。With文を使用する事により、多少見やすくなり、また処理速度も多少速くなる。    
7 MousePointerは処理時間がかかると予想されるところは必ず入れる。    
8 マウスポインターを砂時計にセットするのはイベントプロシージャ処理内とする。その他の共通関数(Function)、又はプロシージャ(Sub)の中には入れない。    
9 配列は0からを基準とする。    
10 文字列関数はLen , Chr$ , Left$ , Mid$ , Right$ , InStr などを使用する。特別な処理以外はLenB等の関数名の最後に「B」が付くバイト処理関数は使用しない。また、バリアント型扱いならないように$が使用できる関数は$で使う。    
11 システム定数がある時はそれを使用する。例) VbCrLf    
12 IF文の条件判定部分でAND、ORを使用する時は条件判定部分の範囲がよくわかるように「(A = 2) And (B = 1)」の様に括弧でくくる。    
13 VB6内部では文字はユニコード(UniCode)で扱われていることを意識している。    
14 文字列の連結には、+ではなく&を用いる。    
15 バリアント型変数は使用しない。    
16 単一の式の評価する多重分岐には、Select Case文を使用する。    
17 Gosub…Return , While…Wend , Remは禁止する。    
18 SQL文は大文字で記述する。但し、予約語のみとする。    
19 変数名は、Asを用いて明示的に型宣言する。(変数名の%や$は禁止)    
20 変数宣言は、1行1変数とする。    
21 グローバル定数は、メインモジュール(basMain.bas)の宣言セクションに記述する。    
22 プロシージャ内定数はプロシージャ名の直下に宣言する。(On Errorがあればその直下から)    
23 1行IF文(条件と命令を一行に書く形式)は禁止する。(IIF関数は例外)    
24 Case文はインデントしない。(Select文と同じ深さにする)    
25 Csae文は、数値順、ABC順、50音順等の有意味な順序で並べる。    
26 For...NextにおけるNextの右には、カウンタの変数名を添える。    
27 フォーム単位、モジュール単位で使う変数と定数は必ず「Private」を明記して宣言する。    

4. プロパティ関連

  詳細 必須 注意 推奨
1 入力コントロールのIMEモードプロパティは必ず設定する。    
2 画面の入力順を設定するTabIndexプロパティはプロパティウインドウ上で設定しておく。    
3 ロジックではなく、プロパティウインドウ上で設定出来るものは設定する。    
4 ボタンや各操作可能なコントロールは処理の実行中にEnabledプロパティをFalseにセットする。処理が完了したら、関係するコントロールのEnabledプロパティはTrueに戻す。    
5 frmG010.txt Name.Text形式は禁止、frmG010!txtName.Text形式にする。フォーム名の後は明示的に「!」を使用する。    

5. イベント処理

  詳細 必須 注意 推奨
1 Form_Loadイベント内で画面の初期化処理を行う。    
2 画面を消すときは、オブジェクトの開放などの終了処理をForm_Unloadイベントで行う。    
3 フォームの表示が終了したら、そのフォームをNothingする。
例) Set frmG010 = Nothing
   
4 入力項目単位のデータチェックは Validate イベントで行う。    

6. エラー処理

  詳細 必須 注意 推奨
1 各エラー処理ルーチンの「On Error」は変数宣言の前に宣言する。    
2 On Error発生時の処理は規約に従ったコーディングをする。    
3 「On Error」を除く、On…GoTo , On…Gosubは禁止する。    
4 業務的なエラーは画面上でのエラーメッセージと「クライアントへログファイルを出力する」処理も行う。    

7. 関数、プロシージャ関連

  詳細 必須 注意 推奨
1 プロシージャ(Sub)は「Call subXXX」の形で呼び出す。    
2 「Public Sub」、「Public Function」はコードモジュールに記述する。    
3 フォーム内、コードモジュール内だけで使用する「Private Sub」、「Private Function」はそのフォーム内、コードモジュール内に記述する。    
4 提供されている共通関数(Function)、又は共通プロシージャ(Sub)はそれを使用する。    
5 引数は左から、入力のみ、入出力、出力のみの順で記述する。    
6 引数は明示的に「ByVal」、「ByRef」を記述する。    
7 引数が2つ以上ある時は、改行して、上下並べて見やすく記述する。    
8 1プロシージャの行数は60行以内を目安とする。    
9 「Public Sub」、「Public Function」の呼び出しは基本的に全て引数で行う。パブリック変数を使用する時はプロジェクトで統一する必要がある物に限る。    
  1. 有効と思われる共通ロジックがあれば、担当者に連絡し、検討後、関連メンバーに連絡及び提供する。
  2. 提供されている共通ロジックの一覧は別紙「共通ロジック一覧」参照。
  3. 共通ロジックは「basCOMM.bas」で提供される。

8. メッセージ関連

  詳細 必須 注意 推奨
1 画面に出すメッセージは基本的にMsgBox関数を使う。    
2 処理時間が6秒以上かかる処理はステータスバーに「処理中...」メッセージを出す。    
3 画面にメッセージボックス等を出すときはマウスポインターはデフォルトに戻す。    
4 DBへの書き込み指示に相当する操作を行う時は確認のダイアログを出す。    
5 各種処理要求が終了した時は、ステータスバーに「処理を完了しました。」と表示する。    
6 MsgBox関数を使う時はそれにあったアイコンも付けて出す。    
7 エラーメッセージはダイアログ、それ以外はステータスバーにメッセージを表示する。    
  • 別紙「VB画面設計規約」も参照。

9. 帳票関連

  詳細 必須 注意 推奨
1 事前にプレビュー画面を表示してから、印刷を開始する。    
2 印刷には帳票名、印刷日時、ページ番号も出力する。    
  • 別紙「VB帳票規約」も参照。

10. その他

  詳細 必須 注意 推奨
1 コメントは[VBドキュメントツール]の基準にしたがってコーディングする。別紙「VBコメント規約」参照    
2 基本的にクラスロジックの使用は禁止とする。    
3 市販コントロールには専用のウイザード、又はデザイナーが付いている場合がある。ある場合はそれを使用して作業する。    
4 WindowsAPIで使用する関数、定数等は命名規約以外とし、その名前を使用する。    
5 サードパーティーの追加コントロールを使用する時、専用の共通モジュールが提供される場合がある。その場合は、命名規約外とし、提供モジュールをそのまま使用する。    

 

Visual Basic 標準化

初期登録日: 2003年11月10日

最終更新日: 2008年01月28日

< Home ヘ戻る >