SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

ソフトを作成する上でのバージョン番号のつけ方に悩む・・

最初の一桁がメジャーバージョンで,次の桁がマイナーバージョン,っていう事を守っていれば,個人的なプログラムだったらある程度適当でいいと思うのですが,どのくらい機能が増えたらマイナーバージョンを増やそうか,とか無駄なことで悩んでいます・・w


で,バージョン番号のつけ方に関してちょっと調べて見ました.

  • <メジャーバージョン><マイナーバージョン><ビルド番号><リビジョン>タイプ

exeファイルには,プログラムのバージョン情報を埋め込めるようになっているのですが,そのデータは4つの部分から構成されています.
プログラムのexeファイルへのバージョン情報の埋め込み方の解説サイト↓
http://www.atmarkit.co.jp/fdotnet/dotnettips/187asmverinfo/asmverinfo.html
<メジャーバージョン><マイナーバージョン><ビルド番号><リビジョン>
左の二つの部分は最初に述べたとおりですが,その後にリリース用にビルドするごとに1づつインクリメントされる番号と,機能は変わらないけど,バグフィックスをしたときに増やすリビジョン,という項目で構成されています.
VisualStudioでは「プロジェクトのプロパティ>アプリケーション・タブ>アセンブリ情報」という項目でexeファイルに埋め込むバージョン情報を管理できるので,VisualStudioではこの規則で管理するのは便利かな,と思いました.でも,ちょっとしたアプリでこんな厳密な管理はだるいかなぁ・・

また,これらの規則に加えて,大規模なプロジェクトでは,
マイナーバージョンが奇数のものは先進的な機能の追加を目指したもので,偶数のものは安定性を重視したもの,というつけ方をする場合もあるとのこと.
Linuxのカーネルなどではこのような規則を用いているようです.
この辺の話はこちら↓
http://easy.mri.co.jp/19990126.html
http://opentechpress.jp/opensource/05/06/15/037257.shtml

  • 年・月・日タイプ

他によく使われる方法としては,年・月・日をバージョン情報としてつける方法でしょうか.
ver.20060308みたいな感じで.
これだと,最後に変更を加えた日付でバージョンをつけるだけだから,いろいろ考えなくてもよくて楽かも・・w
この場合はメジャーバージョンだけは別に付け足したほうがいいかもしれないですね.


ちなみに,バージョン番号のつけ方で面白いなぁ,と思ったのがTeX
詳しいことは,こちらに書いてありますが↓
http://ja.wikipedia.org/wiki/TeX
バージョン3を出したときに,これ以上の機能の追加をしないと宣言し,それ以降の修正ではバージョンを,3.1,3.14,3.141,と円周率に近づくようにしています.
そして,自分が死んだ時点での最終バージョンをバージョンπとする,と決めているそうです.
この人は他にも,METAFONTというものも作っていて,こちらは2.71,2.718と,自然対数の底に近づいていくみたいです.