211 votes

Meilleures pratiques : Logiciel Versioning

Je ne pouvais pas trouver une question similaire ici, mais si vous en trouver un s'il vous plaît lien.

Est-il une ligne directrice ou d'une norme de meilleure pratique comment pour version d'un logiciel que vous développez dans votre temps libre pour le plaisir, mais néanmoins, il sera utilisé par certaines personnes? Je pense qu'il est nécessaire de version de ces logiciels de sorte que vous savez à propos de la version que l'on parle de (par exemple pour la correction de bug, de soutien, et ainsi de suite).

Mais où dois-je commencer le doublage? 0.0.0? ou 0.0? Et puis, comment puis-je augmenter les chiffres? version majeure.changement mineur? et ne doivent pas tout de s'engager à un système de contrôle de version-être une autre version? ou est-ce seulement pour les versions qui sont utilisés de manière productive?

264voto

Marco Mariani Points 6907

Démarrer avec la version 3, puis ajouter des décimales de pi, jusqu'à ce que vous convergent.

125voto

ChrisF Points 74295

Vous devriez commencer avec la version 1, sauf si vous savez que la première version "release" est incomplète, d'une certaine façon.

Comment vous incrémenter les versions, c'est à vous, mais l'utilisation de la majeure, mineure, génération de numérotation comme un guide.

Il n'est pas nécessaire d'avoir toutes les version de vous engager au contrôle de code source comme une autre version - vous aurez bientôt un très grand numéro de version, en effet. Vous avez seulement besoin d'incrémenter le numéro de version (en quelque sorte) lors de la sortie d'une nouvelle version pour le monde extérieur.

Donc, Si vous faites un changement majeur se déplacer à partir de la version 1.0.0.0 à la version 2.0.0.0 (vous avez changé d'WinForms pour WPF par exemple). Si vous faites un petit changement de passer de 1.0.0.0 à 1.1.0.0 (vous ajout du support pour les fichiers png). Si vous faites un changement mineur puis aller de 1.0.0.0 à 1.0.1.0 (vous correction de quelques bugs).

Si vous voulez vraiment obtenir de l'utiliser le dernier numéro que le numéro de build qui serait incrément pour chaque enregistrement/validation (mais je pense que c'est aller trop loin).

63voto

Mahesh Velaga Points 9420

Je voudrais utiliser `` une sorte de contrôle de version

-major release -mineur de libération
``-Numéro de build

42voto

Bozhidar Batsov Points 23298

J'ai simplement suivre ce modèle:

  • commencer à partir de 0.1.0

  • quand il est prêt, je branche le code dans la source repo, tag 0.1.0 et de créer de la 0.1.0 branche, la tête ou le tronc devient 0.2.0-instantané ou quelque chose de similaire

  • - Je ajouter de nouvelles fonctionnalités pour le tronc, mais backport des correctifs à la direction générale et dans le temps, je version 0.1.1, 0.1.2, ...

  • Je déclare la version 1.0.0 lorsque le produit est considéré comme la fonctionnalité complète et n'a pas de défauts majeurs

  • à partir de là, tout le monde peut décider d'incrémenter le numéro de version principale...

35voto

Lorensius W. L. T Points 617

J'ai utiliser cette règle pour mes applications:

x.y.z

Où:

  • x = principal numéro de version 1-~.
  • y = fonction de nombre, de 0 à 9. Augmenter ce nombre si la modification contient de nouvelles fonctionnalités, avec ou sans corrections de bugs.
  • z = numéro de correctif, 0-~. Augmenter ce nombre si le changement ne contient que des corrections de bug.

Exemple:

  • Pour la nouvelle application, le numéro de version commence avec la version 1.0.0.
  • Si la nouvelle version ne contient que des corrections de bugs, d'augmenter le numéro de correctif logiciel si le numéro de version 1.0.1.
  • Si la nouvelle version contient de nouvelles fonctionnalités, avec ou sans corrections de bugs, d'accroître la fonctionnalité de nombre et de réinitialiser le numéro de correctif à zéro de sorte que le numéro de version sera la version 1.1.0. Si le nombre atteint 9, augmenter le numéro de version et la réinitialisation de la fonction et numéro de correctif à zéro (2.0.0 etc)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X