web-dev-qa-db-ja.com

高速なメジャーバージョンは、デザインが不十分であることの証拠になっていますか?

私は数か月前にジュニアプログラマーとして仕事を始めました。現在取り組んでいるシステムは、約2年前から運用されています。私はシステムと設計の物乞いには関与していませんでした。

私が気づいたことの1つは、システムのメジャーバージョンがすでに11.Y.Zであることです。他のシステムやライブラリーでの作業の経験を形成し、製品がメジャーバージョンをそれほど速くバンプしたことを覚えていません。 1.X.Yで何年もされてきた製品があり、まだ機能とバグ修正を受け取っています。

セマンティックバージョニング が適切に使用されているとすると、これはシステムが設計されていないことを示していますか?

16
user367035

セマンティックバージョニングが適切に使用されていると仮定すると、これは、システムがほとんど4か月ごとに重大な重大な変更を行うため、設計が不十分であることを示していますか?

必ずしも。

これは内部APIであるとコメントで述べました。みんなのコードを壊すので、APIを壊すことは悪いことです。しかし、内部APIの場合、「全員」は単なる「あなた」であり、そのようなAPIの変更を自分で調整することが完全にできるので、通常、APIの変更に伴う苦痛ははるかに少なくなります。

また、平均値は非常に誤解を招く可能性があります。初期開発の最初の数日間に11のAPIの重大な変更があり、それ以来4年間安定しているのでしょうか。 SemVerはallowを実行します。メジャー番号が0の場合、メジャー番号を増やすことなく重大な変更を行うことができますが、forceにはなりません。多分彼らはプロトタイピング/探索段階の間でさえ、0日からSemVerを使い始めましたか?

14
Jörg W Mittag

短い答え

いいえ

長い答え

「時々、数は単なる数である」

Forget 現在のクレイジーな世界における「セマンティックバージョニング」、「合理性」、「ロジック」について

Chromeバージョン番号をすばやく取得する理由

「バージョン」番号は、他の開発者がそれらを使用する方法を一般に提供するメジャーリリースではなく、ブランチポイントのマイルストーンとして使用されます。そして、それは大きなイベントを作るために多くの新しい機能を一緒にする偶発的なイベントではなく、機能の準備ができているかどうかにかかわらず、継続的な開発フローです

1
Lazy Badger