初心者から実務利用者まで
わかりやすいVBA解説サイト
コラム

改定や変更を行った場合、差異がわかる様に記録を残す

マクロを作っている間ははやく完成させたくて夢中!

マクロを作っている時は作っている事に夢中で
はやく完成させたいと前だけを見てしまいがちですから
一生懸命作業をしています。
他の事を考える余裕がありません。

時には何らかの理由で
細部の違う第二版のマクロを作ったり

少しだけコードを変えて結果をためした結果、
どちらがいいか判断がつかないため
とりあえず片方を仮採用して
変更前のコードはコメント化して残しておいたり、

少しだけ動きを変えたマクロを
別の「Module2」に残しておいたりしてしまいがちです。

しかし軽い気持ちで行ってしまったこんな対応が
後で自分を大きく苦しめる事になるのです。

自分が作ったものなのに忘れてしまう??

ひとみさん
ひとみさん
このマクロ、少し変えたんですけど
古いコードはコメントブロックして
残しておこうと思います。
使ってるうちにまた戻したくなるかもしれませんし。
遥先生
遥先生
あら、そんな事してると後できっと困るわよ
ひとみさん
ひとみさん
自分で作ったものだから後でみても
わかるんじゃないんですか?
遥先生
遥先生
人間はね…ものすごーく忘れっぽい生き物なの

過去の自分は赤の他人!

ITの世界には
「三日前の自分は他人」という言葉があります。

マクロ作成中はそのマクロの構成も、処理の順番も、
書いたコードの意味も、コメントの意味も全て
熟知しているので

「この位のコメントを書いておけば
 後でみてもわかるだろう。」



「今は判断がつかないから
 ちょっとコメントを残しておいて
 またいつかどちらにするか考えよう。」


…などと安易に考えてしまいがちです。

その変更、半年後も覚えていられますか?

確かに作っているマクロがどんなマクロだったのか
覚えているうちはそれでも問題ないでしょう。

しかし、少し想像してみてください。
もし、自分が半年後にそのコードを見た時の事を。

そのマクロがどんなマクロだったのかすら
覚えていないかもしれません。
まったくのゼロスタートです。

そんな状態で先に書いたような
あいまいなコメントや
細部の違うバージョン違いの処理を
残しておくとどうなるでしょうか。

 

あれ、これは何が違うんだっけ?

 

あれ、これは何でこうなってるんだっけ?

 

あれ、このコードは何でコメント化されて
残してあるんだっけ?


自分が書いた筈のコードなのに
なぜそうなっているのか全くわからず
苦しむことになるのです。

しかも明らかに不要そうなコードでも
残してあった意味すらわからなくなっているので
作成時よりさらに削除しにくくなってしまいます。

半年後の自分に向けて、きちんと整理をしましょう

こんな状況を作り出さないためにも
改定版を作る場合は

・このモジュールは何のためにつくったのか

・別バージョンなら何がちがうのか(考えられる限り細かく)

きちんと細かく記録をしておきましょう。

そして途中で一部をコメント化して残しておくといった事は
極力控えましょう。

個人で作っているマクロであったとしても
「自分だけが後で見てわかる」ようなものは
一切残さない状態を保つクセをつけてください。

きっとそのコードはあとあと
自分を苦しめることになってしまいます。

遥先生
遥先生
こんなモジュールの残し方は絶対にダメよ
ひとみさん
ひとみさん
後で自分が困らないように…ですね!