0

バージョン番号が通常2.13ではなく「2.1.3」であるのはなぜですか?

数値コンパレータを実行できるので、後者の方が理にかなっているようです。

4

3 に答える 3

1

バージョン番号が整数にエンコードされる場合(Pythonのsys.hexversionなど)と同じ理由で、ゼロが埋め込まれます。

あなたは頻繁に10を超えなければなりません。

多くのプロジェクトはmajor.minor.bugfixスキームを採用しています(例:セマンティックバージョニング)。たぶん、バージョン2.1.9には、パッチを適用する必要のあるセキュリティホールがあります。2.1.10と呼ぶ必要があります(2.2.0と呼ぶことは、新機能とマイナーな非互換性の可能性を意味するため)。たぶん、バージョン3は構文を完全に変更するので、バージョン2に機能を追加し続けたいと思うでしょう。

たぶん、プロジェクトは単純に頻繁にリリースされるため、メジャーバージョンごとに100を超えるマイナー/バグ修正バージョンがあります(kernel.orgには2.6.34.14と3.0.60がリストされています)。

最後に、それは文字列です。もちろん、比較のためにdoubleに解析できますが、多くの言語/ライブラリが「数値」文字列比較をサポートしています(したがって、「Document9」は「Document10」の前にあります)。Apacheのmod_autoindexは、それを「VersionSort」とさえ呼んでいます。

于 2013-01-27T02:57:02.377 に答える
1

3レベルのバージョン管理スキームは、通常、major.minor.build(またはmajor.minor.revision)を反映します。

3つのレベルでは、レベル間の変更の重要性を減らすことができます。メジャー1、マイナー13とメジャー1、マイナー12のソフトウェアの違いは、メジャー1、マイナー1、ビルド3とメジャー1、マイナー1、ビルド2の違いよりも大幅に大きいはずです。

でバージョン番号を分割できます。各レベルを個別に比較します。

于 2013-01-27T03:07:47.330 に答える
-2

小数点が1つしかない場合でも、数値コンパレータを使用することはできません。

これが例です。
バージョン1.13と1.2を検討してください。明らかに、1.13はそれ以降のバージョンです。しかし、1.2>1.13。

于 2013-01-27T02:32:58.087 に答える