Número de versión como parte de un nombre de archivo

14

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 primer tipo en las bibliotecas de JavaScript. Por ejemplo, el nombre de archivo de jQuery es como jquery-2.1.0.js en lugar de jquery.js . Cada vez que actualizo estos tipos de archivos, tengo que buscar los lugares en otros programas que los carguen, cambiar el nombre de archivo al que se refieren y eliminar manualmente la versión anterior de estas bibliotecas. Es un inconveniente para mí, así que prefiero cambiar el nombre del archivo para excluir el número de versión y mantener el nombre del archivo al que se hace referencia para no incluir el número de versión.

Sospecho que estos números son para algún tipo de control de versión, 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 del software o idiomas usan el número de versión en el nombre del archivo y qué áreas / idiomas no? Si es así, ¿hay alguna razón para eso?
pregunta sawa 12.03.2014 - 11:52

2 respuestas

24
  1. Tiene sentido especificar la versión que necesita. El comportamiento en el que puede confiar podría haber cambiado, por lo que los nuevos no siempre son mejores. Primero, compruebe si una nueva versión de una biblioteca funciona para usted. Luego, actualice explícitamente.

  2. En el caso de los recursos web, tener la versión como parte del nombre de archivo es importante en el contexto de caching . Para recursos estáticos como jquery.js , deseará un tiempo de caché muy largo antes de volver a buscarlos. 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 siguiente día. Como foo-1.2.3.js es un recurso diferente como foo-1.2.4.js , ninguna caché se interpondrá en el camino.

respondido por el amon 12.03.2014 - 12:12
3

(Excluyendo la situación de almacenamiento en caché web mencionada 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 obvia. 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 usen la lib siempre compartirán la misma versión de la lib (idealmente "la más nueva"), y usted actualizará la lib de vez en cuando. Entonces, 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 confía en que el proveedor externo mantiene la biblioteca principalmente compatible con versiones anteriores.

  • esperas tener algunas partes de tu programa que necesitan la versión A, y algunas otras que necesitan la versión B. Entonces obviamente necesitarás 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 usando la lib una vez después de introducir una nueva versión.

Y si usted mismo es un proveedor de bibliotecas, debe incluir el número de versión de manera predeterminada, pero deje que el usuario de esa biblioteca decida por sí mismo si mantiene ese número o lo elimina.

    
respondido por el Doc Brown 12.03.2014 - 16:59

Lea otras preguntas en las etiquetas