ソフトウェアは一度作って終わりではなく、公開後もバグの修正や機能向上のため修正を繰り返すことになる。
マクロも同様で、通常はバージョン番号をつけて管理したりする。
バージョン番号の付け方は特に決まっているわけではないが、一般的には次のルールにしていてることが多いようだ。
メジャーバージョン番号.マイナーバージョン番号.リビジョン番号
番号名 | 意味(私の解釈) |
メジャーバージョン番号 | コンセプトはそのままに一から作り直した場合や、作り直しに相当するほどの大きな変更があった場合に更新。外観の大きな変更を伴うことが多い。 |
マイナーバージョン番号 | 機能の追加・削除、操作性の変更等があった場合に更新。 |
リビジョン番号 | バグ修正・リファクタリング(動作に影響を与えないソースコードの整理)等があった場合に更新。 |
使い捨てマクロならともかく、ある程度使いまわす予定があるならどのみちバージョン管理する羽目になるので、初めからHistoryシートを用意していつどのような更新を行ったのかを書いておくと良い。
かくいう私もHistoryシートを用意し始めたのは今日の話なんだけど。
リビジョン番号はまだ付けてないけど、このあとバグ修正とかあれば付けていこうかなと考えている。
同日追記
Twitterでimihitoさんが以下を紹介されていたのでこちらでも紹介。
semver.org
Semanticというのは「意味」を表す言葉。「意味付けされた~」と解釈すれば良い。
上記ではメジャー.マイナー.パッチと呼んでいるが、考え方は同じ。
※メジャーバージョンを上げる基準としてAPI互換性を基準に上げているけどVBAの場合はそこはあんまり関係ない。
ひとつ参考にしたいなと思ったのは、メジャーバージョンの0はリリース前の開発中バージョンを表すということ。ベータ版として開発中のものを先行公開する場合は、メジャーバージョン0を採用しようと思う。