コラム

【VBA開発規約】コメント記載ルール

日本頭脳株式会社は、VBAプログラムに関するコメント記載ルールについて、以下のとおり定義します。

 

1.コメントは、プログラムの直上(直前)に記載すること

 

コメントの読み手の視点から見て最も効率よくプログラムを理解できるためには、プログラムの直上(直前)にコメントが記載されている必要があります。プロシージャの中身を見なくても、コメントを追っていくだけで処理の流れが十分理解できるよう、コメントが丁寧に記載されていることが必要です。


‘処理完了メッセージを表示する
MsgBox “処理が完了しました”, vbInformation


‘設定値を格納する連想配列を作成
Set 設定値 = New Collection

 

プログラムの横にコメントを書く方もいらっしゃいますが、上方向にも横方向にもコメントが存在していると、視認性が落ちるのでやめてください。すべてプログラムの直上にあるというルールが一貫して守られていれば、読みやすくなります。

 

2.プロシージャのコメントには、プロシージャの処理概要と、引数と戻り値の説明を記載すること

 

プロシージャ(FunctionやSub)にも、直上にコメントをするというルールは適用されます。ただし、プロシージャにはさらに多くの情報を付加する必要があります。まず、そのプロシージャが総じて何の処理を行っているかという、処理の概要を記載してください。概要では伝わりにくい場合は、さらに詳細まで記載しましょう。丁寧に記載しすぎて困ることは何もありません。

次に、引数と戻り値の説明も行います。以下の例を見てみましょう。

 

‘*********************************************************
‘* 組織が組織リストに存在するか確認する
‘*
‘*   引数:組織リスト(組織名をカンマ区切りで結合したもの)
‘*   戻値:存在の有無(True=存在する、False=存在しない)
‘*********************************************************
Function 組織チェック(組織リスト As String) As Boolean
  Dim 組織配列 As Variant, 組織番号 As Long

  組織配列 = Split(組織リスト, “,”)
  
  ’入力値が、組織リストにあるかチェック
  For 組織番号 = 0 To UBound(組織配列)
    If 組織 = 組織配列(組織番号) Then
      組織チェック = True
      Exit Function
    End If
  Next
End Function

 

引数では何の値を受け取るのか、そして戻値では何の値を返すのかを、詳細に記載します。例えば意味のある番号を返す場合は、1番が何で、2番が何、3番が何、というように、取りうる値をすべて説明してください。引数が複数ある場合は、引数の後に番号を付けてください。

‘*********************************************************
‘* 処理概要
‘*
‘*   引数1:
‘*   引数2:
‘*   引数3:
‘*   戻値:

無料相談・お見積り依頼、その他どんなお悩みでもお気軽にご相談ください!
無料相談・お見積り依頼、その他どんなお悩みでもお気軽にご相談ください!

03-6427-6442

平日9時~18時