バージョンってどうしてますか?
以前、関わったシステム (ASP.NET) ではこんな感じでつけていました。
- Major Version
- プロジェクトのバージョン(ひとつのプロジェクトで複数の開発が平行していたので、その切り分け用)
- Minor Version
- 基本的に未使用(ほぼ 0 固定)
- Build Number
- I/F 変更を伴う変更時にインクリメント( Build Number を 0 に戻す)
- Revision
- I/F 変更を伴わない変更時(バグフィックス等)にインクリメント
ある意味、理に適った付け方ではありましたが、個人的には少し不満がありました。
で、個人的には基本的に以下の様にしています。
- Major Version
- I/F 変更等の大幅なロジック変更時にインクリメント( Minor Version を 0 に戻す)
- Minor Version
- リリースタイミングでインクリメント
- Build Number
- Visual Studio にお任せ (*) → 2000 年 1 月 1 日からの経過日数(でしたっけ?)
- Revision
- Visual Studio にお任せ (*) → 経過秒 / 2 (でしたっけ?)
※ AssemblyVersion 以外については、 Build Number と Revision は 0 固定にしています。
正直、 Build Number と Revision はあまり重要視していなかったり。
本当なら、内部テスト用に何らかのバージョン管理をすべきなのかもしれないけど、今のところはやっていません。
……少し見直そうかな。