自分のVBAコーディングガイドラインを作ろう!その(1) 命名規則

こちらのページを拝見して、自分なりのコーディングのルールを決めておくことはとても重要だと思いました。まずは命名規則を普段どうしているか、整理してみます。

命名規則

変数、定数、プロシージャなど、名前には意味が伝わる単語を使うべき、これはその通りだと思います。
名前は短いに越したことはないですが、「長くてもメンバー候補が使えますので、それほど気にしなくてもよい」という考え方もあるものの、あまり長すぎると、画面の左右の幅を無駄に使うので、限度を考える必要がありますね。

変数名

変数名はアルファベットのキャメル記法で書きます。これはVBAを習得する中でいろいろな書籍を参考にしている間に、自分にも自然に身についたものです。
データ型に合わせて、以下接頭語で始めるようにしています。

  • str:String
  • date:Date
  • rng:Range
  • ws:Worksheet
  • wb:Workbook
  • obj:Object

例外として、以下については参考書などでもよく用いられていますし、一般に意味が通じると思うのでよく使ってます。

  • i, j, k:ループカウンタなど
  • tmp:テンポラリ 一時的な
  • flg:一時的なBoolean型のフラグ
  • obj:一時的なオブジェクト変数
  • idx:一時的なインデックス用変数

私がよく使うものとして以下のものがあります。あまり理解されないかも知れませんが。

  • R:Row 行を表す接頭辞
  • Rmax:テーブルなどの行の最大値
  • C:Column 列を表す接頭辞
  • 接頭辞 lst:Listobjects
  • 接頭辞 lc:Listcolumns

プロシージャ

特に決めていませんが、何をするプロシージャかわかるように、英語または日本語の名称としています。
セル上からユーザー定義関数的に使うFunctionプロシージャは、Excelの関数に準じてすべて大文字としています。

定数

定数はアルファベットのスネーク記法で命名、というのがセオリーと学習していたので、それに準じています。

が、セオリーを破って、日本語にしている場合もあります。

列挙体

あまり使う場面がないですが、使う場合はセオリーに準じて、「e + 単語」のキャメル記法でネーミングしています。

関連記事