オフィス・ブール ロゴ
【レスキュー連絡先】
代表 : 末永 尚登
TEL: 070-4087-0025 FAX:095-893-6090
2.分かりやすいコードを心がけましょう

お客様の作成されたマクロ(VBA)を拝見すると、ときどきコードの行頭がグループごとに揃っていないため、一読して何が書いてあるのか分かりづらいことがあります。
また変数名が短かすぎたり、変数名が適当でなく誤った解釈をしてしまったり、一つのプロシージャにすべての処理を入れてしまっていたりで、マクロの解読に非常に時間がかかることもあります。

そうならないためにも、マクロは他人が読んでもすぐ理解できるものにしましょう。
他人が手直しする場合を考慮するのは当然ですが、自分で保守を行うことを考えても、 分かりやすいコーディングを心がけることは大事です。
マクロを作成するときは、その処理について完璧に理解できていても、時間が経てば、本人でも忘れてしまっているかもしれません。 まして他人が修正する場合は、コードだけが頼りです。そのコードが分かりづらければ、多大な時間と労力をかけてしまいます。

プロジェクトやグループでシステム開発する場合は、それぞれコーディングルールのような決まりごとがあると思います。しかし個人で作成する場合は、そこまで厳格なものは必要ないでしょう。
でも最低限次のようなことは、注意してコーディングした方がよいでしょう。

  1. 字下げ(インデント)の実施
    ループ文、条件文は、グループ内で字下げして階層構造にする。
    しかし階層が深くなりすぎると却って分かりづらくなりますので、そのときは他の方法も検討を。

  2. 意味のある変数名に
    変数名は、名前だけで変数の内容が分かるようにする。(例:PriceIncludingTax/税込み金額)
    これもスペルがあまり長くなると、打ち込みが大変になりますのでほどほどに。

  3. 大文字と小文字を組み合わせる
    変数名は英数字にして、大文字と小文字を組み合わせたものにする。(例:csvLastRow)
    プロシージャ内でこのように宣言しておけば、すべて小文字で打ち込んでも、大文字小文字に変換してくれます。
    大文字小文字に変換されない場合は、スペルミスということになります。

  4. プロシージャの分割
    あまりプロシージャが大きくなりすぎると、全体の把握が難しくなります。
    ある程度大きくなったら、プロシージャを機能単位で分割することを考えましょう。
    プロシージャの標準的な大きさというのはありませんが、一画面に収まらなくなってきたら、分割できないか検討してみましょう。
    同じ処理が繰り返し出現している箇所は、そこをサブルーティン化することでコードがスッキリします。
コード例1 コード例2
●字下げしていないコード ●字下げをしたコード


 


オフィス・ブール ロゴ 所在地:長崎県長崎市  代表:末永尚登
E-mail: suenaga@officeboole.com   TEL: 070-4087-0025  FAX: 095-893-6090