MS Officeで役立つVBAの技:これだけは覚えとけ!
翻訳校正:村上雅章・野崎裕子
ユーザー部門に対してVBAの教育を行うことで、彼ら自身でちょっとした業務の自動化を行えるようになり、IT部門とユーザー部門の両者にメリットがもたらされる。本記事ではそういった教育に欠かせないコーディング上のベストプラクティスを解説している。
名前付け規約を決め、それに従う
名前付け規約とは、オブジェクトや変数の名前を付ける際に用いる一連の規則である。この記事はVBAについてのものであるため、変数名に焦点を当てることにする。変数名は、データ型やその使用目的を明確にするものとなっていなければならない。
ユーザーは、名前付け規約を面倒でどうでもよいものとして無視しようとするかもしれない。しかし、一貫した名前付け規約を使用するというプラクティスを実践することにより、以下のような理由でコードの取り扱いが楽になるということを彼らに教えておくべきである。
- 変数名からその変数に関する多くの情報が読み取れるようになるため、コードの詳細すべてを記憶しておく必要がなくなる。
- 誰かのコードを他人がより容易に読み下したり、修正することができるようになる。
- 一貫した名前付け規約に基づいて命名された変数は、それ自体がドキュメントとなるため、何カ月も前に記述したコードでも容易に修正できるようになる。
- 意味のある変数名が使用されている場合、問題の特定が容易になる。
例えば、Variable1やvalue2といった変数名は、その変数の目的について何のヒントも与えてくれない。対照的に、FirstNameやLastName、StreetNameといった変数名は説明的であり、意味を持っていると言える。変数の目的を明らかにできたのであれば、変数のデータ型も示しておくようにしよう。ほとんどのVBA開発者は、objやstr、lng、intといった3文字からなる接頭辞を好んで付加している。例えば、FirstNameやLastNameはstrFirstNameやstrLastNameとなるわけだ。こういった例では変数名にNameが含まれているため、変数の値は文字列であると判断でき、接頭辞は不要であると思われるかもしれないが、データ型を表す接頭辞の付加という習慣はユーザーに推奨しておくべきだ。また、変数名には大文字と小文字の双方が使用されており、変数名を構成する各単語が大文字で始められているという点にも注意されたい。こういった記述法はキャメル記法として知られており、可読性を向上させるためのものだ。さらに、省略形はたとえ意味が明白な場合であっても使わないよう、ユーザーにアドバイスしておこう。
名前付け規約にはさまざまなものがある。会社が名前付け規約を定めていない場合、ユーザー側で独自に簡単な規則を定めておくことができる。名前付け規約自体は、その重要性をユーザーに納得させることほど重要な問題ではないのだ。
Microsoftのこのサイトでは、名前付け規約とVBA接頭辞に関するより詳細な解説が提供されている。
適切なコメントを付加する
コメントは、コードを記述してから何カ月も経ち、そのコードを記述した理由を思い出せないという時に貴重なものとなる。例えば以下のコメントは、関数の目的を定義するという素晴らしい役目を果たしている。
' This function reduces product price by a predetermined discount.(この関数は、あらかじめ決められた割引率に基づいて商品価格を下げるものである)
このコメントがなければ、コードの解読で時間を無駄にしてしまうことだろう。
ユーザーが意味のあるコメントを効率的に記述するうえで参考になるガイドラインを以下に挙げる。
- 手続き(FunctionとSubの双方)の冒頭には、その目的を概説するコメントをできるだけ付加するようにする。このコメントは簡単な概要でよい。手続きが1〜2行しかない場合には通常、コメントは不要である。
- 手続き中のステートメントにいちいちコメントを付加しない。ほとんどの関数や式はそれ自体を読めば意味が判るはずだ。
- 一般的な規約から解釈できないものについてはコメントを付加しておく。
- コメントを記述する際には、句読点を適切に用い、正しい文法で記述する。あなたにとって明確に思える言葉遣いでも、他の人にとっては紛らわしいものとなっているかもしれない。
- 長い手続きの場合、複数のコードが持つ意味のまとまりごとにコメントを付加しておくと有効である。ただし、必ずしも付加しなければならないというわけではない。
- 修正や機能強化を行った場合にもコメントを付加しておく。その場合、修正担当者の名前と修正日付も記述しておく。
- 9人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(1)
- 今日のトップ記事
- 2日前
- 3日前
- 6日前
- 7日前
- ホワイトペーパー
- 企画特集
NTTComのSaaS型アウトソーシングをレポート
ZDNet Japan ログ管理
仲間と情報を共有・公開する楽しみ方は?
今が選びどき!百花繚乱スマートフォン
仮想化環境に適したサーバブレード新登場!
RSA enVision
REAL IT COOL PROJECT
Green Enterprise
国内シェアNo1
局所冷却に注目。
価格から質へと変わるアウトソーシング市場
かつてのERPは死んだ--
グリーンデータセンターの新潮流
情報大洪水時代を生き抜くソリューション
Techno Exchange
- MicrosoftもOracleもDWH市場に参入!
- なぜ、ERP 導入は敷居が高いのか?
- データバックアップで事業継続力を向上!
- エンタープライズサーチ特集!
- リバーベッドのSteelheadアプライアンス
- 話題のタグ
フォトレポート:分解、「Apple IIc」第2弾--モニタの内部に迫る
ボックスレイアウトの方向をコントロールする
MS、ストリートビュー問題で一言「プライバシーの問題は事後対処が困難」
あなたの知らないPKI(1)--PKIのコア要素/公開鍵暗号