MacCentre
Форум: Mac и Mac OS X
Тема: Навеяно выходом 6-го iTunes

[Ответить]
Daniel [13.10.2005 10:43] Навеяно выходом 6-го iTunes:
Apple пополнила ряды разработчиков, забывших о том, как принято по-человечески нумеровать версии программ..

========================

Numerical

The most common software versioning scheme is a scheme in which different major releases of the software each receive a unique numerical identifier. This is typically expressed as three numbers, separated by periods, such as version 2.4.13. One very commonly followed structure for these numbers is:

major.minor[.revision[.build]]

In most cases, the first released version of a software product has version 1.0. Numbers below 1 mean alpha or beta versions, i.e., versions for testing purposes or internal use, or versions that aren't stable enough for general or practical deployment.

In principle, in subsequent releases, the major number is increased when there are significant jumps in functionality, the minor number is incremented when only minor features or significant fixes have been added, and the revision number is incremented when minor bugs are fixed. A typical product might use the numbers 0.9 (for beta software), 0.9.1, 0.9.2, 0.9.3, 1.0, 1.0.1, 1.0.2, 1.1, 1.1.1, 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1, 2.1.2, 2.2, etc. Developers may at times jump (for example) from version 5.0 to 5.5 to indicate that significant features have been added, but not enough to warrant incrementing the major version number.

There is sometimes a fourth, unpublished number which denotes the software build. This scheme is used by Microsoft. Some companies also include the build date. Version numbers may also include letters and other characters, such as Lotus 1-2-3 Release 1a.

Some software packages use more complex versions of this scheme, such as Linux, which uses odd minor version numbers to denote development releases and even minor version numbers to denote stable releases. For example, Linux 2.5 was a development family of the second major design of the Linux kernel, and Linux 2.6 was the stable release family that Linux 2.5 matured into. After the minor version number in the Linux kernel is the release number, in ascending order; for example, Linux 2.4.0 -> Linux 2.4.22. Even further, a trivial version number was added to 2.6.8, making 2.6.8.1 which denoted a very minor change. This fourth number has been made standard since 2.6.11.1.

A different approach is to use the major and minor numbers, along with an alphanumeric string denoting the release type. A release train using this approach might look like 0.5, 0.6, 0.7, 0.8, 0.9 == 1.0b1, 1.0b2 (with some fixes), 1.0b3 (with more fixes) == 1.0rc1 (which, if it's stable enough) == 1.0. If 1.0rc1 turns out to have bugs which must be fixed, it turns into 1.0rc2, and so on. The important characteristic of this approach is that the first version of a given level (beta, RC, production) must be identical to the last version of the release below it: you cannot make any changes at all from the last beta to the first RC, or from the last RC to production. If you do, you must roll out another release at that lower level.

The purpose of this, of course, is to permit users (or potential adopters) to properly evaluate how much real-world testing a given build of code has actually undergone. If changes are made between, say, 1.3rc4 and the production release of 1.3, then that release -- which asserts that it has had a production-grade level of testing in the real world, in fact contains changes which have not necessarily been tested in the real world at all.

This approach commonly permits the third level of numbering ("change"), but does not apply this level of rigor to changes in that number: 1.3.1, 1.3.2, 1.3.3, 1.3.4... 1.4b1, etc.

Finally, there's a common habit in the commercial software industry (usually, though not always, spurned by non-commercial programmers) to make major jumps in numeric major or minor version numbers for reasons which do not seem (to many members of the program's audience) to merit them: "marketing" version numbers. This can be seen in several Microsoft products, as well as Sun Solaris and Java Virtual Machine numbering, SCO Unix version numbers, and Corel Word Perfect, as well as the filePro DB/RAD programming package, which went from 2.0 to 3.0 to 4.0 to 4.1 to 4.5 to 4.8 to 5.0, and is about to go to 5.6, with no intervening release. A slightly different version can be seen in AOL's PC client software, which tends to come out *only* as .0 releases (5.0, 6.0, 7.0, etc...) with never a .1 release .

--
Даниил

mailto:daniel@bely.org

Shunt [13.10.2005 12:02] (-)По идее должен быть 5.1?:

С уважением,
Shunt
shunt собачка macbox.ru
Daniel [13.10.2005 12:23] (-)По идее должен быть максимум 3-4 с чем-то :):


--
Даниил

mailto:daniel@bely.org

[Ответить]