Numero di versione come parte del nome di un file


15

Vedo che alcuni software hanno il numero di versione incluso come parte del nome del loro file, mentre altri no. Sono più abituato a quest'ultimo tipo e penso che sia più popolare, ma a volte vedo il primo tipo nelle librerie javascript. Ad esempio, il nome del file di jQuery è come jquery-2.1.0.jsinvece di jquery.js. Ogni volta che aggiorno questi tipi di file, devo cercare le posizioni in altri programmi che caricano questi file, cambiare il nome del file a cui si riferiscono ed eliminare manualmente la versione precedente di queste librerie. Questo è scomodo per me, quindi preferisco rinominare il file per escludere il numero di versione e mantenere il nome del file a cui si fa riferimento per non includere il numero di versione.

Ho il sospetto che questi numeri siano per un qualche tipo di controllo della versione, ma non sono chiaro quando e come vengono utilizzati.

  • Quali sono i pro e contro per includere i numeri di versione nel nome del file?
  • Esiste un consenso di fatto su quali aree del software o delle lingue utilizzano il numero di versione nel nome del file e quali aree / lingue no? Se è così, c'è qualche razionale per quello?

3
il più grande vantaggio è che puoi assicurarti che i cambiamenti non si verifichino prima di essere pronti per loro
maniaco del cricchetto

@ratchetfreak Non aggiorni quando non sei pronto. Fai?
Sawa,

2
@sawa Supponiamo che jQuery.com/jquery.js sia l'URL dell'ultima versione ed è a questo che si riferisce il tuo codice. Cosa accadrebbe se jQuery pubblicasse un aggiornamento radicale? Certo, ti collegheresti alla tua copia locale ma penso che questo sia ciò che significa maniaco del cricchetto
11684

@ 11684 Capisco, l'ho capito.
Sawa,

1
Vorrei sottolineare, nell'esempio di jquery, che entrambe le versioni ospitate su CDN di Google e cdnjs.com inseriscono la versione nella struttura della directory anziché il nome del file. (Il CDN jquery di jquery.com e Microsoft hanno entrambi la versione nel nome del file.)
Brian S

Risposte:


24
  1. Ha senso specificare la versione richiesta. Il comportamento su cui fare affidamento potrebbe essere cambiato, quindi le novità non sono sempre migliori. Innanzitutto, verifica se una nuova versione di una libreria funziona per te. Quindi, aggiorna esplicitamente.

  2. Nel caso delle risorse Web, avere la versione come parte del nome file è importante nel contesto della memorizzazione nella cache . Per risorse statiche come jquery.jste vorrai un tempo di cache molto lungo prima che venga recuperato. Tuttavia, durante un aggiornamento si desidera che il proprio codice utilizzi immediatamente la nuova versione , anziché far passare i client alla nuova versione durante il giorno successivo. Come foo-1.2.3.jsè una risorsa diversa come foo-1.2.4.js, nessuna cache si metterà in mezzo.


1
+1, anche se penso che questa risposta sia un po 'a taglio singolo. Esistono effettivamente situazioni in cui "nessun numero di versione" può essere la scelta migliore. Vedi la mia risposta qui sotto.
Doc Brown,

3

(Escludendo la situazione della memorizzazione nella cache del web menzionata da @amon): suppongo che tu faccia una copia locale di una libreria di terze parti per l'uso del tuo programma, altrimenti la necessità di un numero di versione sarebbe ovvia. Lo scenario di utilizzo di una libreria di terze parti all'interno del sistema software che stai sviluppando potrebbe essere uno di questi due:

  • tutte le parti del programma che utilizzano la lib devono sempre condividere la stessa versione della lib (idealmente "la più recente") e di tanto in tanto aggiornerai la lib. Quindi mantenere il numero di versione come parte del nome del file può essere davvero noioso, e in realtà consiglierei di rimuovere il numero dalla tua copia locale del file, se possibile. Si noti che questa è una buona idea solo se si ha la certezza che il fornitore di terze parti mantenga la lib principalmente compatibile con le versioni precedenti.

  • ti aspetti di avere alcune parti del tuo programma che richiedono la versione A e altre che richiedono la versione B. Quindi avrai ovviamente bisogno di un numero di versione per la libreria di terze parti. Si noti che questa situazione può verificarsi anche quando non è possibile testare facilmente tutte le parti del software usando la libreria immediatamente dopo aver introdotto una nuova versione.

E se sei un fornitore di librerie tu stesso, dovresti includere il numero di versione per impostazione predefinita, ma lascia che l'utente di quella lib decida da solo se mantiene quel numero o lo toglie.


Sì. Hai ragione. Stavo citando il primo dei tuoi due casi.
Sawa,

1
@sawa: nota che il tuo esempio è stato jquery, per il quale vale l'argomento di web caching di amon. Il ragionamento alla base della mia risposta è stato quello di spiegare diverse situazioni in cui "nessun numero di versione" potrebbe essere la scelta migliore.
Doc Brown,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.