0
0

バージョン管理の命名規則 セマンティックバージョニング

Posted at

初歩的な話だが、
セマンティックバージョニングという言葉を聞いて今まで流していたが。
ふと考えてみるとセマンティックバージョニングって何なんだろう?と思った。

今まではバージョン管理方式ぐらいの軽い認識しかなかったので、
これを期に調べてみた

セマンティックバージョニングとは?

一般的によく目にする
「v1.23.45」
のようなバージョニング方式(バージョン管理の命名規則)のことを指して呼ぶ。

メジャーバージョン.マイナーバージョン.パッチバージョンの3つのセグメントから構成される。

そして、それぞれ変更内容によって、
「どのセグメントのバージョンの数をインクリメントするか?」
決まっているらしい。

  • メジャーバージョン:互換性のない場合に上げる
  • マイナーバージョン:後方互換性がある機能追加した場合マイナーバージョンを上げる
  • パッチバージョン:後方互換性のあるバグ修正、パッチバージョンを上げる

仕様書を書いたのは、Gravatarの考案者であり、GitHubの共同創設者である
Tom Preston-Werner氏だそうだ。

なぜ使用するのか?

仕様書を読んでみた。

なぜセマンティック バージョニングを使用するのか?
 このアイデアは新しいものでもなければ、革新的なものでもありません。実際、みなさんも似たよう>な取り組みを既におこなっているかもしれません。問題は「似ている」のでは不十分だということです。正式な仕様書による取り決めがなければ、バージョンナンバーは依存性の管理において基本的には無意味です。上記のアイデアに対して名前と正確な定義を与えることよって、あなたの開発するソフトウェアにおいて、あなたの意図がユーザーに対して伝わりやすくなることでしょう。一度、これらの意図を正確にしてしまえば、柔軟な(しかし、柔軟すぎてはいけない)依存性の仕様を作ることができます。

それまで、明確なルールがあるとは知らなかった。
というより、気にしていなかった。

感想

問題は「似ている」のでは不十分だということです。正式な仕様書による取り決めがなければ、バージョンナンバーは依存性の管理において基本的には無意味です。

読んでいて、すごくドキッとした。
今後は、ちゃんと仕様書に従った管理をしたい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0