VBAにおける基本的な命名規約についての例

VBAルール

このページでは

VBAやVBでプログラミングするときに使える命名規約を紹介します。
本サイトにおける設計標準では、特に断りがない限り、こちらの命名規約を使って、サンプルプログラム等の例を提示します。

ポイント

命名規約とは

プログラミングするときに、定数や変数などの名前の付け方をルール化したものです。
適切な命名規約をルール化することにより、以下の効果が期待出来ます。

プログラミング効率の改善

定数や変数に名前を付けるとき、意外に悩んでしまい、時間がかかったり疲れたりするものです。
一定のルールに従うことにより命名しやすくなります。

ソースコードの可読性や視認性の向上

他人の書いたソースコードは読みにくいものですが、名前の付け方が整っているだけで、各段に可読性や視認性が向上し、メンテナンスしやすくなります。

ルール化における制限

ルール化においては、利用する言語仕様や開発環境、データベースの仕様などの影響を受ける可能性があるので、リソース全体を見通して発生する制限に留意しましょう。

命名規約の基本

英数字を使用しよう

VBAでは名前に日本語を使うことも出来ますが、特に理由がない限り、英数字のみで命名しましょう。
特に外国人含んだ多国籍なプロジェクトでは、日本語をローマ字にするような命名は避けて、すべて英単語を使用するルールとしてもよいと思います。
VBAにおける名前の長さは最大で半角255文字(Excel2007の仕様)ですが、あまり長い名前は避けましょう。

○ : lineCount
× : 行カウント

予約語は使わない

VBAの予約語は使用出来ません。

省略形は避けよう

多くの人が直感的に把握できるように単語の省略形や短縮形は避けるようにしましょう。
但し、一般的に認知されているような省略形や短縮形は、積極的に使用するのも可です。

○ : lineCount
× : lctr
○ : GetUIArea
△ : GetUserInterfaceArea

種類別命名方法

メソッド名(Sub、Function名)、構造体名

先頭を大文字にしましょう。
複数の単語で構成する場合は単語の先頭毎に大文字にします。

○ : CSVFileCopy

クラス名、インスタンス名、プロパティ名

先頭を大文字にしましょう。
複数の単語で構成する場合は単語の先頭毎に大文字にします。

○ : BackColor

定数名

全て大文字にしましょう。
複数の単語で構成する場合はアンダーバーでつなぎます。

○ : MAX_LINE

変数名

役割を表す単語を使って全て小文字にしましょう。
複数の単語で構成する場合は2番目以降の単語の先頭毎に大文字にします。
また、パブリックな変数の場合は先頭文字も大文字にするルールが良いと思います。

○ : lineCount

こんなときは

For文における添え字

特に理由がない場合は、i、j、kのアルファベットを使いましょう。
増分の値に意味を持たせたい場合には、indexの接頭語に意味のある単語を付与する命名もよいと思います。

○ : i
○ : indexPaper
× : c
× : countPaper

同じ名前の使用

違った役割をもつ複数の変数に同じ名前を付けないようにしましょう。
特にグローバル変数とローカル変数で同じ名前を付けるとバグのもとです。
クラスを構成するメソッドやプロパティに関しては、役割が同じ場合には、同じ名前を付けましょう。

変数の型をプリフィックスにする?しない?

変数の型、例えば文字列であればString型=strをプリフィックスにして命名する方法があります。
変数の型を変更する際に名前まで変わってしまうことと、型の種類は膨大になる場合があるので、おすすめではありません。但し、名前を見ただけで一瞬で型がわかるというメリットはあるので、プロジェクト内で検討して使用することにしてもよいかもしれません。

本サイトでは、フォーム変数(ボタンやリストボックスなど)についてのみ、プリフィックスを付けて命名することにします。

△ : strName
△ : btnOk (当サイトではOKとする。)

補足説明

当該ページは、改定される可能性が高いページです。

タイトルとURLをコピーしました