私がクラスモジュールを使い始めたきっかけ
きっかけ
そもそもは、自分に降りかかる火の粉を、少しでも楽に振り落としたいからだった。
thom(id:t-hom)さんが、コチラで言及してくださったが、私はあくまでも素人に過ぎないのに、職場では
それって、プログラマの仕事じゃね?
的なことをさせられてしまっている。通常業務は通常業務として他の職員と変わらず割り当てられているにもかかわらず。
今の上司にVBAのスキルがバレるまでは、まあ、自分の仕事を少しでも楽にできるように、と好き勝手にコードを書き散らしていた。
必要な機能さえとにかく盛ればいいんだから、チャチャッと書いてサクッと使う。次に同じようなことをするときには、そのコードの意味なんか忘れているけど、読み直したらまあ分かるからチョコチョコッと直しては使い……という感じだった。
しかし、今の上司と出会ってしまってからは、ひつこいようだが、
完全に他人が使うためのマクロ
を作らされることが多くなった。
このときにも書いたけど、
「マクロ? それ何ていう寿司ネタ?」
みたいな人が使うのを想定したマクロって、本当に大変。
しかも、上司の指示がテキトーで、いっつも
こんな風にできたらええなーと思うんや
みたいな雑な指示で作成を命じ、できあがって納品(?)したらしたで、ろくにテストもしてくれずに他の部署に提供し、だいぶ経ってから
あ、こことここをチョイチョイッと直しといて
とか、
この機能やけど、ここがこんなふうになった方が便利やと思うんや
と、一事が万事この調子。
後出しジャンケン祭り状態。
こうなると、そもそもマクロを作るときに思いつきでいわゆる「スパゲティ・コード」なんか書いてしまった日には、私の命がいくつあっても足りない状態になるわけ。
それまで、「設計」なんて概念とは無縁で、
コメントしっかり書いときゃ大丈夫っしょ?
ぐらいに思っていたけど、そんなことを言ってられなくなったのだ。
クラスモジュールとの出会い
たまたま、意味も分からず「オブジェクト指向」に憧れていたこともあって、
オブジェクト指向というのはプログラムの変更・追加に強いプログラミング・テクニックらしい
というようなことが記憶の片隅にあったので、本格的にJavaの勉強を始めたのが「クラス」という概念との出会いだった。
そして、thom(id:t-hom)さんのブログとか、コチラのおかげで、VBAでもオブジェクト指向っぽいことができることが分かり、導入しはじめたというわけ。
まだまだクラスモジュールを十分に使いこなせているとは言えないけど、ついこないだ、機能変更の問い合わせを受けたときには、ものの1分ほどで対応ができた。そのマクロは、クラスモジュールを活用して作ったもので、問い合わせのあった機能の部分がうまくカプセル化できていたことからすると、少しづつ上達はしてきているのだと思う。
おわりに
thom(id:t-hom)さんがおっしゃってくださったように、スキルを身につけた人というのは、スキルを持っていない人が他のことに費やしていたお金とか時間をそのスキルの習得に費やしているのである。
しかも、見落とされがちなことかも知れないが、
スキルを維持するのにもお金と時間がかかる
のである。
それを、まるで背が高い人に高いところにある荷物を取ってもらうような調子で
チャチャッと作っといて
と気安く頼んでくる人の気が知れない。
年度が変わったらきっぱりと言ってやろう。