semver `.0` で始まる

Susan Sarandon
リリース: 2025-01-06 08:18:40
オリジナル
908 人が閲覧しました

Starting with semver `.0`

わかりました。あなたは新しいパッケージをリリースしようとしています...一歩踏み出しましたが、ライブラリに変更が必要かどうかは不明です。つまり、「今すぐ v0 をリリースして、後で十分な準備ができたら v1 をリリースするべきかもしれない」と言うのです。この記事では、最初から v1 をリリースするよう説得していきます。

v1 をリリースする理由はいくつかあります:

  • SemVer 0.x のバージョンは異なります
  • 自信を持って真剣に取り組んでください
  • プロジェクトの強み

私にとって、v0 のさまざまな理由は要約すると次のとおりであると思われます。

  • 不確実性
  • 怠惰
  • 理解不足/スキルの問題

...

しかし、semver リポジトリにあるこの興味深い問題: https://github.com/semver/semver/issues/221 を読んだ後、私の意見は変わりました。バージョン 0.x の使用は不安定であることを示しますが、実際には、一部のライブラリ不安定です。

不安定とはどういう意味ですか? ライブラリが変更されるというわけではありません (これらの変更は計画でき、メジャー バージョン番号で表すことができるため)。不安定性はバグの蔓延に関係します。

次のようなバグが考えられます:

  • 通常のソフトウェアのバグ、または
  • マイナー バージョンまたはパッチ バージョンでリリースされた重大な変更。

補足: これら 2 つの違いはほとんどありません。多くのバグは、API 間の単なる不一致または非互換性です。

それでは --- あなたのライブラリが消費者にとって壊れる可能性はどれくらいでしょうか?この質問に答えることができるのはライブラリの管理者だけであり、多くの場合、それは消費者によって時間をかけて提起されてきた問題の経験に基づいています。

しかし、ライブラリがどの程度不安定になるかをリリース前にどうやって知ることができるのでしょうか?おそらく 0.x に一定期間を置くのが良いでしょう。

しかし、ライブラリが 0.x から抜け出すことはあるのでしょうか?慣性は現実のものだからです。時間はありますか?委員会を通過するでしょうか?それはリスクです。

一方、1.0.0 リリースのリスクは、頻繁にアップグレードすると消費者が不安定になることです。しかし、これには緩和策があります。まず、ロックファイルを使用すると、パッケージのアップグレードが手動で行われます。消費者は、アップグレードしない限り問題の影響を受けません。また、単にアップグレードしないことも、アップグレードを後で延期することもできます。

新しい消費者がバグのあるリリースにたどり着く可能性はありますが、それは 0.x システムにも当てはまります。

storybook のようなライブラリは (私の経験では) バージョン間であまり安定していませんが、まだ 0.x を使用していません。それだけの価値があるからです。

そして、推移的な依存関係の領域があります。あなたのパッケージが別のパッケージの依存関係である場合、その他のパッケージは使用するサーバー範囲を決定する必要があります。あなたの安定性はそのパッケージの安定性に影響を与えるため、賭け金はより高くなります。

そのパッケージはライブラリを固定するか、より広い範囲のサーバーを使用します。前者の場合、重複が発生してパフォーマンスが低下します。 2 番目のケースでは、不安定になる危険があります。最初のオプションはスターターではなく、不安定さは常にリスクであると断言したいと思います。

ここには答えがありませんが、重要な点は、あなたのライブラリが他のライブラリによって使用されている場合、リスクはより高く、おそらくあなたのライブラリが安定していることを確認する必要があるということです。

したがって、安定したライブラリを作成するように努めるべきですが、それが不安定な場合は、安定するまで 0.x を使用してください。ただし、可能であれば 1.x.

を使用してください。

以上がsemver `.0` で始まるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート