C’est quelque chose que vous allez devoir examiner sous différents angles, car vous devez prendre en compte les besoins des utilisateurs, ainsi que ceux du logiciel et des développeurs.
En général, vos clients ne se soucient pas beaucoup du numéro de version du logiciel tant qu'ils savent qu'ils exécutent quelque chose de plus récent (c'est-à-dire que Produit 2012 est plus récent que Produit 2010) et qu'ils le savent. est à jour s'il existe des correctifs pouvant être déployés (par exemple, Product 2012, Update 10). En tant que tel, du point de vue de la marque du client, j'ai tendance à préférer une version nommée (par exemple Windows XP, Windows Vista) suivie d'un nombre de séquences strict de correctifs pouvant être installés par les utilisateurs.
Cela dit, un logiciel d’écriture qui vérifie les choses faciles pour l’utilisateur tend à rendre le code sous le capot beaucoup plus difficile à écrire. Ainsi, j'ai tendance à préférer le Major.Minor
schéma de version simple, ne serait-ce que parce que vous pouvez effectuer une simple comparaison de nombres pour vérifier que quelque chose est à jour, comme dans ce qui suit:
// Check to see if we can handle the file version
if (this.Version < fileVersion) {
throw new UnsupportedFileException("The file version is " + fileVersion.toString() + " which is not supported");
}
// Do stuff ...
Pour mettre cela dans un peu de contexte, je me fiche généralement de l’importance du nombre mineur (ie 1.1024), ce qui permet au système ci-dessus de continuer à fonctionner avec succès. En règle générale, les numéros de révision ne concernent que le développement interne et je ne les ai même pas vraiment vus affecter des choses qui vont bien au-delà d'une simple numérotation supplémentaire à suivre.
Cependant, les deux schémas ci-dessus ne s'appliquent vraiment qu'aux environnements dans lesquels le déploiement continu est utilisé (c.-à-d. Stack Exchange), c'est pourquoi j'ai tendance à préférer une sorte de date suivie d'un numéro de révision, ce qui semble être utilisé sur Stack Exchange. des sites. La raison en est que les versions vont trop souvent changer dans l'environnement de déploiement continu et que plusieurs versions du code peuvent apparaître le même jour, ce qui justifie le numéro de révision et que la date actuelle est aussi bonne que pour briser des choses. encore plus. En théorie, vous pouvez simplement utiliser le numéro de révision pour tout, mais utiliser la date du jour vous permet de garder une trace interne des jalons majeurs qui pourraient rendre les choses plus faciles à discuter.