セマンティックバージョニング:それが何であるか、そうではないか、そしてなぜそれが必要なのか
公開: 2019-05-20使用するソフトウェアのほとんどは、新しいバージョンをリリースすることが多く、通常は関連するバージョン番号で識別されます。 このシステムは「セマンティックバージョニング」と呼ばれ、開発の進捗状況を追跡できます。 さらに、WordPressを使用している場合は、優れたセマンティックバージョニングプラクティスから確実に恩恵を受けることができます。
この記事では、セマンティックバージョニングシステムとその仕組みについて簡単に紹介します。 次に、誰がそれを使用することで利益を得ることができるかについて話し、あなたがそれを正しく実行することを確実にするためのいくつかのヒントを提供します。
数字を話そう!
セマンティックバージョニングとは
WordPress.orgのダウンロードページにアクセスすると、ダウンロードしているコンテンツ管理システム(CMS)のバージョンが表示されます。

この数を決定するために使用されるシステムは、「バージョン管理」と呼ばれます。 具体的には、リリースがピリオドで区切られた3つの数値に分割されるセマンティックバージョニングの例を見ています。 これらの値のそれぞれが何を表すかを確認しましょう。
- APIの変更に関連するメジャーリリースバージョン。
- ソフトウェアのマイナーアップデート。メジャーアップデートを保証するほど重要ではありません。
- パッチまたはバグ修正。
これを書いている時点では、WordPressバージョン5.1.1を使用しています。 バージョン5.0.0は2018年12月6日にリリースされました。それ以来、5つのマイナーパッチ(最終的な数の増分)と1つのマイナーリリースが次の順序で提供されています。
- 5.0.1
- 5.0.2
- 5.0.3
- 5.0.4
- 5.1
- 5.1.1
ご覧のとおり、パッチ番号はマイナーアップデートがあるたびにリセットされます。 メジャーリリースがある場合も同じことが当てはまります。メジャーリリースは、WordPressに関しては従来4か月ごとに発生します。
セマンティックバージョニングの背後にある全体的なポイントは、行ったすべての変更と進行状況を追跡できるようにすることです。 さらに、エンドユーザーであり、リリースについていく場合は、バージョン番号から、更新が本当に重要な時期がわかります。 たとえば、バグパッチを1つか2つスキップするかもしれませんが、マイナーリリースまたはメジャーリリースがあるたびに、更新する必要があります(私たちは監視しています、あなたは知っています!)。
更新する価値があるかどうかわからない場合は、リリースごとに発行される変更ログを確認してください。 彼らの塩に値するすべての開発者は、各リリースで何が新しくなったのかを書面で記録します。
全体として、セマンティックバージョニングは非常に簡単で、ソフトウェア開発以外の多くの状況で便利です。 それらが何であるかについて話しましょう。
セマンティックバージョニングを使用することで誰が利益を得ることができるか
通常、バージョン管理システムを使用しているのは開発者です。 WordPressに関しては、最も明白な例はコア自体の更新です。 ただし、プラグインとテーマの開発者もセマンティックバージョニングを使用しますが、数値を見つけるのは難しいことがよくあります。 たとえば、WordPress.orgのプラグインページをチェックアウトすると、そのリリースと変更ログに関する情報が[開発]タブに表示されます。

同様に、関連するWordPress.orgページ内でテーマの開発に関する情報を見つけることができます。 ただし、このような場合は、ページの下部にある[開発ログ]リンクをクリックする必要があります。

つまり、コードを含むほとんどすべてのタイプのプロジェクトにセマンティックバージョニングを使用できます。 ただし、単純な開発以外のアプリケーションもあります。 たとえば、設計プロジェクトにバージョン管理を適用できます。 ここでは、主要な視覚的変更のバージョン番号、新しい要素の追加の値、またはマイナーな調整を増やすことを検討できます。 パッチに関する限り、小さな視覚的な更新や修正のためにパッチを予約することができます。
ただし、セマンティックバージョニングは町で最も人気のあるゲームかもしれませんが、使用できるシステムはそれだけではありません。 たとえば、Chromeブラウザは4つのセクションのバージョンシステム( major.minor.build.patch)を使用します。

Ubuntuなどの他のプロジェクトでは、日付を中心に構築されたシステムを使用しています。 たとえば、Ubuntuは現在バージョン19.04であり、ご想像のとおり、2019年4月にリリースされました。
全体として、あらゆる種類のプロジェクトに最適な単一のバージョン管理システムはありません。 ただし、あらゆる種類のソフトウェア開発に携わっている場合は、セマンティックバージョニングが最適なオプションです。 さらに、どのタイプのバージョン管理プロトコルもまだ使用していない場合は、これは優れた入門書です。
セマンティックバージョニングの3つのベストプラクティス
これまでに、セマンティックバージョニングがどのように機能するかについてはすでに理解しています。 ただし、正しい方法で使用できるように、いくつかのヒントを確認しましょう。
1.すぐにバージョン1.0から始めないでください
ある時点で、バージョン1.0にまだ到達していないソフトウェアを使用した可能性があります。 ユーザーはバージョン1.0.0が比較的安定していてバグがないことを期待しているため、これは完全に正常です。 ただし、ソフトウェアが完全に使用可能でありながら、その数に達するまでに長い時間がかかる場合もあります。
人気のPCゲームDwarfFortressを例にとってみましょう。 それは約15年間開発されており、ほとんどの主要なゲームよりも多くの機能が詰め込まれているにもかかわらず、バージョン0.44.12のままです。

これで極端に進むこともできますが、バージョン1.0.0からすぐに開始しないことは理にかなっています。 それはあなたがそうしている間あなたがあなたのソフトウェアをベータテストしそしてユーザーの期待を和らげることを可能にします。
内部的には、バージョン0.1.0から開始する必要があります。 ただし、ほとんどのプロジェクトはこのバージョンを公開せず、代わりに、もう少し開発が進むまで待ちます。 それまでの間、これらの非常に限定されたアルファバージョンを内部テストに使用できます。これは、あらゆるプロジェクトの健全な開発の鍵となります。
2.新しいバージョンごとの具体的な変更点を説明する
エンドユーザーとして自分自身を見つけることができる最も厄介な状況の1つは、それらのいずれかが何をしているのかを知らずに大量の更新を取得することです。 ほとんどの人が変更ログを読まないことはわかっていますが、更新を公開する場合は、たとえそれが単なるマイナーパッチであっても、文書化する必要があります。

変更ログは、その名前が示すように、各リリースの新機能の簡単な内訳です。 一部の開発者は、すべての変更を説明するために長い更新を作成し、あなたがそれらの1人である場合は、より強力になります。
正直なところ、私たちは通常、新機能の簡単で簡潔なリストに満足しています。 変更ログをまとめるのは簡単で、それほど時間はかからないはずです。ですから、かっこよく、職務を怠らないでください。
3.リリースごとにユーザーフィードバックを収集する
完成したプロジェクトをどのように見せたいかについては、おそらくかなり良いアイデアがあります。 ただし、これは、ユーザーやチームの他のメンバーからのフィードバックをなくすことができるという意味ではありません。
理想的には、小さなパッチやバグ修正を除いて、リリースごとにある程度のフィードバックを得ることができます。 このプロセスの目標は、ユーザーが問題に直面しているかどうか、またはプロジェクトの方向性に問題があるかどうかを通知することです。
このプロセスの最も簡単な例は、進行中のWebサイトの最新バージョンをクライアントと共有することです。 ほとんどの場合、クライアントはある程度のフィードバックを受け取り、それを将来のリリースに組み込むことができます。
ただし、覚えておいてください。フィードバックを聞くことは重要ですが、場合によっては、ユーザーよりもよく知っているかもしれません。 しかし、これはあなたがそれらを無視するべきであるという意味ではありません、しかし時々あなたの腸は正しいかもしれません。
結論
セマンティックバージョニングは非常にシンプルなシステムです。 ほんの数個の数字で、プロジェクトの開発の進捗状況に関する多くの情報を伝え、新しい重要な更新があるときにユーザーに知らせ、一般的に物事を整理することができます。
セマンティックバージョニングで覚えておく必要のある3つのベストプラクティスを要約してみましょう。
- 門の外の最初のバージョンから始めないでください。
- 新しいバージョンごとに具体的な変更点を説明します。
- リリースごとにユーザーフィードバックを収集します。
セマンティックバージョニングの使用方法について質問がありますか? 下のコメントセクションで質問してください!
fatmawati achmad zaenuri /shutterstock.comによる記事のサムネイル画像
