Veo que algunos programas tienen el número de versión incluido como parte de su nombre de archivo, mientras que otros no. Estoy más acostumbrado al último tipo, y creo que es más popular, pero a veces veo el tipo anterior en las bibliotecas de JavaScript. Por ejemplo, el nombre de archivo de jQuery es como en jquery-2.1.0.js
lugar de jquery.js
. Cada vez que actualizo este tipo de archivos, tengo que buscar los lugares en otros programas que cargan estos archivos, y cambiar el nombre del archivo al que hacen referencia, y eliminar manualmente la versión anterior de estas bibliotecas. Eso es un inconveniente para mí, por lo que prefiero cambiar el nombre del archivo para excluir el número de versión y mantener el nombre del archivo mencionado para no incluir el número de versión.
Sospecho que estos números son para algún tipo de control de versiones, pero no tengo claro cuándo y cómo se usan.
- ¿Cuáles son las ventajas y desventajas de incluir números de versión en el nombre del archivo?
- ¿Existe un consenso de facto sobre qué áreas de software o idiomas usan el número de versión en el nombre del archivo y qué áreas / idiomas no lo hacen? Si es así, ¿hay alguna razón para eso?
Respuestas:
Tiene sentido especificar la versión que necesita. El comportamiento en el que puede confiar podría haber cambiado, por lo que lo nuevo no siempre es mejor. Primero, pruebe si una nueva versión de una biblioteca funciona para usted. Luego, actualice explícitamente.
En el caso de los recursos web, es importante que la versión sea parte del nombre del archivo en el contexto del almacenamiento en caché . Para recursos estáticos como
jquery.js
usted querrá un tiempo de caché muy largo antes de volver a buscarlo. Sin embargo, durante una actualización, desea que su código use la nueva versión inmediatamente , en lugar de que los clientes cambien a la nueva versión durante el día siguiente. Comofoo-1.2.3.js
es un recurso diferentefoo-1.2.4.js
, no habrá cachés en el camino.fuente
(Excluyendo la situación de almacenamiento en caché web mencionado por @amon): supongo que hace una copia local de una biblioteca de terceros para el uso de su programa, de lo contrario, la necesidad de un número de versión sería obvio. El escenario de uso de dicha biblioteca de terceros dentro del sistema de software que está desarrollando puede ser uno de estos dos:
todas las partes de su programa que usan la biblioteca siempre compartirán la misma versión de la biblioteca (idealmente "la más nueva"), y usted actualizará la biblioteca de vez en cuando. Luego, mantener el número de versión como parte del nombre del archivo puede ser realmente tedioso, y en realidad recomendaría eliminar el número de su copia local del archivo si es posible. Tenga en cuenta que esta es solo una buena idea si tiene confianza en que el proveedor externo mantiene la biblioteca en su mayoría compatible con versiones anteriores.
espera tener algunas partes de su programa que necesitan la versión A y otras que necesitan la versión B. Obviamente, necesitará un número de versión para la biblioteca de terceros. Tenga en cuenta que esta situación también puede ocurrir cuando no puede probar fácilmente todas sus partes de software utilizando la lib de una vez después de introducir una nueva versión.
Y si usted es un vendedor de bibliotecas, debe incluir el número de versión de forma predeterminada, pero dejar que el usuario de esa biblioteca decida por sí mismo si conserva ese número o lo quita.
fuente
jquery
, para lo cual se mantiene el argumento de almacenamiento en caché web de amon. El razonamiento detrás de mi respuesta fue explicar diferentes situaciones en las que "sin número de versión" podría ser la mejor opción.