Je vois que certains logiciels ont le numéro de version inclus dans le nom de leur fichier, tandis que d'autres n'en ont pas. Je suis plus habitué à ce dernier type, et je pense que c'est plus populaire, mais je vois parfois l'ancien type dans les bibliothèques javascript. Par exemple, le nom de fichier de jQuery est comme jquery-2.1.0.js
au lieu de jquery.js
. Chaque fois que je mets à jour ces types de fichiers, je dois rechercher les emplacements dans d'autres programmes qui chargent ces fichiers, changer le nom de fichier auquel ils se réfèrent et supprimer manuellement l'ancienne version de ces bibliothèques. Cela ne me convient pas, je préfère donc renommer le fichier pour exclure le numéro de version et conserver le nom de fichier mentionné pour ne pas inclure le numéro de version.
Je soupçonne que ces chiffres sont pour une sorte de contrôle de version, mais je ne sais pas quand et comment ils sont utilisés.
- Quels sont les avantages et les inconvénients d'inclure des numéros de version dans le nom de fichier?
- Existe-t-il un consensus de facto sur les domaines du logiciel ou des langues qui utilisent le numéro de version dans le nom du fichier et ceux qui ne le font pas? Si oui, y a-t-il un rationnel pour cela?
Réponses:
Il est logique de spécifier la version dont vous avez besoin. Le comportement sur lequel vous pouvez compter pourrait avoir changé, donc plus récent n'est pas toujours meilleur. Tout d'abord, testez si une nouvelle version d'une bibliothèque fonctionne pour vous. Ensuite, mettez à jour explicitement.
Dans le cas des ressources Web, il est important que la version fasse partie du nom de fichier dans le contexte de la mise en cache . Pour les ressources statiques comme
jquery.js
vous voudrez un temps de cache très long avant qu'il ne soit récupéré. Cependant, lors d'une mise à jour, vous souhaitez que votre code utilise immédiatement la nouvelle version , plutôt que de faire basculer les clients vers la nouvelle version le jour suivant. Commefoo-1.2.3.js
c'est une ressource différentefoo-1.2.4.js
, aucun cache ne gênera.la source
(À l'exception de la situation de mise en cache Web mentionnée par @amon): Je suppose que vous faites une copie locale d'une bibliothèque tierce pour l'utilisation de votre programme, sinon la nécessité d'un numéro de version serait évidente. Le scénario d'utilisation d'une telle bibliothèque tierce dans le système logiciel que vous développez peut être l'un des deux:
toutes les parties de votre programme qui utilisent la lib doivent toujours partager la même version de la lib (idéalement "la plus récente"), et vous allez mettre à jour la lib de temps en temps. Ensuite, conserver le numéro de version dans le nom du fichier peut être très fastidieux, et je recommanderais en fait de supprimer le numéro de votre copie locale du fichier si possible. Notez que ce n'est une bonne idée que si vous avez la certitude que le fournisseur tiers conserve la bibliothèque principalement compatible avec les versions antérieures.
vous vous attendez à avoir certaines parties de votre programme qui ont besoin de la version A, et d'autres qui ont besoin de la version B. Ensuite, vous aurez évidemment besoin d'un numéro de version pour la bibliothèque tierce. Notez que cette situation peut également se produire lorsque vous ne pouvez pas tester facilement toutes vos parties logicielles à l'aide de la bibliothèque à la fois après avoir introduit une nouvelle version.
Et si vous êtes vous-même un vendeur de bibliothèque, vous devez inclure le numéro de version par défaut, mais laissez l'utilisateur de cette bibliothèque décider par lui-même s'il garde ce numéro ou le supprime.
la source
jquery
, pour lequel l'argument de mise en cache Web d'Amon est valable. Le raisonnement derrière ma réponse était d'expliquer différentes situations où "aucun numéro de version" pourrait être le meilleur choix.