Versionamento semantico: cos'è, non è e perché ne hai bisogno

Pubblicato: 2019-05-20

La maggior parte del software utilizzato rilascia spesso nuove versioni, solitamente identificate da un numero di versione associato. Il sistema è chiamato "versioning semantico" e consente di tenere traccia dei progressi dello sviluppo. Inoltre, se lavori con WordPress, puoi sicuramente trarre vantaggio da buone pratiche di versionamento semantico.

In questo articolo, ti forniremo una rapida introduzione al sistema di versionamento semantico e al suo funzionamento. Quindi parleremo di chi può trarre vantaggio dall'utilizzo e ti daremo alcuni suggerimenti per assicurarti di farlo nel modo giusto.

Parliamo di numeri!

Che cos'è il versionamento semantico

Se vai alla pagina di download di WordPress.org, noterai che ti dice quale versione del Content Management System (CMS) stai scaricando:

La pagina di download di WordPress.

Il sistema utilizzato per determinare questo numero è chiamato "versioning". Più specificamente, stai guardando un esempio di versionamento semantico, in base al quale la versione è suddivisa in tre numeri separati da punti. Rivediamo cosa rappresenta ciascuno di questi valori:

  • La versione principale, che è correlata alle modifiche all'API.
  • Aggiornamenti minori al software, non abbastanza significativi da giustificare un aggiornamento importante.
  • Patch o correzioni di bug.

Al momento in cui scriviamo, siamo sulla versione 5.1.1 di WordPress. La versione 5.0.0 è uscita il 6 dicembre 2018. Da allora, abbiamo avuto cinque patch minori (incrementi nel numero finale) e una versione minore, in questo ordine:

  1. 5.0.1
  2. 5.0.2
  3. 5.0.3
  4. 5.0.4
  5. 5.1
  6. 5.1.1

Come puoi vedere, il numero di patch si ripristina ogni volta che c'è un aggiornamento minore. Lo stesso vale quando c'è una versione principale, che tradizionalmente accade ogni quattro mesi quando si tratta di WordPress.

L'intero punto dietro il versionamento semantico è quello di consentire di tenere traccia di tutte le modifiche e dei progressi che si fanno. Inoltre, se sei un utente finale e sei al passo con le versioni, i numeri di versione ti dicono quando è davvero importante aggiornare. Ad esempio, potresti saltare una o due patch di bug, ma ogni volta che c'è una versione minore o maggiore, dovresti aggiornare (stiamo guardando, lo sai!).

Se non sei sicuro che valga la pena aggiornare, controlla semplicemente il registro delle modifiche che esce con ogni versione. Ogni sviluppatore degno di nota pubblicherà una registrazione scritta delle novità con ogni versione.

Nel complesso, il versionamento semantico è piuttosto semplice ed è utile in molte situazioni oltre lo sviluppo del software. Parliamo di cosa sono.

Chi può trarre vantaggio dall'utilizzo del versionamento semantico

Di solito, scoprirai che sono gli sviluppatori che utilizzano i sistemi di versionamento. Per quanto riguarda WordPress, gli esempi più ovvi sono gli aggiornamenti al core stesso. Tuttavia, anche gli sviluppatori di plugin e temi utilizzano il versionamento semantico, sebbene i numeri siano spesso difficili da trovare. Ad esempio, se controlli una pagina di plug-in su WordPress.org, puoi trovare informazioni sulle sue versioni e sui log delle modifiche nella scheda Sviluppo :

Un esempio di changelog.

Allo stesso modo, puoi trovare informazioni sullo sviluppo di un tema all'interno delle pagine associate di WordPress.org. Tuttavia, in questi casi, devi fare clic sul collegamento Registro di sviluppo in fondo alla pagina:

Un elenco di log di sviluppo.

In breve, puoi utilizzare il versionamento semantico per praticamente qualsiasi tipo di progetto che coinvolga il codice. Tuttavia, ha anche applicazioni al di fuori dello sviluppo diretto. Ad esempio, potresti applicare il controllo delle versioni ai progetti di design. Qui, potresti cercare di aumentare il numero di versione per importanti cambiamenti visivi, il valore per nuove aggiunte di elementi o piccole modifiche. Per quanto riguarda le patch, potresti riservarle per piccoli aggiornamenti visivi o correzioni.

Tuttavia, il versionamento semantico potrebbe essere il gioco più popolare in città, ma non è l'unico sistema che puoi usare. Ad esempio, il browser Chrome utilizza un sistema di versioni a quattro sezioni: major.minor.build.patch .

Altri progetti, come Ubuntu, utilizzano sistemi basati su date. Ad esempio, Ubuntu è attualmente alla versione 19.04, che come avrai intuito, è stata rilasciata nell'aprile 2019.

Nel complesso, non esiste un unico sistema di versioning perfetto per ogni tipo di progetto. Tuttavia, il versionamento semantico è un'ottima opzione se lavori nello sviluppo di software di qualsiasi tipo. Inoltre, è un'ottima introduzione se non stai ancora utilizzando alcun tipo di protocollo di versioning.

3 best practice per il versionamento semantico

A questo punto, hai già un'idea di come funziona il versionamento semantico. Tuttavia, esaminiamo alcuni suggerimenti per assicurarti di usarlo nel modo giusto.

1. Non iniziare subito con la versione 1.0

Ad un certo punto, probabilmente hai utilizzato un software che non ha ancora raggiunto la versione 1.0. Questo è del tutto normale, poiché gli utenti si aspettano che la versione 1.0.0 sia relativamente stabile e priva di bug. Tuttavia, porta anche a situazioni in cui il software impiega molto tempo per raggiungere quel numero, pur essendo completamente utilizzabile.

Prendi il popolare gioco per PC Dwarf Fortress, per esempio. È in fase di sviluppo da circa 15 anni ed è ancora alla versione 0.44.12 nonostante includa più funzionalità rispetto alla maggior parte dei giochi principali.

Il gioco della fortezza dei nani.

Anche se potresti andare agli estremi con questo, non iniziare subito con la versione 1.0.0 ha senso. Ti consente di testare la versione beta del tuo software e di moderare le aspettative degli utenti mentre lo fai.

Internamente, dovresti iniziare con la versione 0.1.0. Tuttavia, la maggior parte dei progetti non rende pubblica questa versione, aspettando invece di avere un po' più di sviluppo alle spalle. Nel frattempo, però, puoi utilizzare quelle versioni alpha molto limitate per i test interni, che è la chiave per lo sviluppo sano di qualsiasi progetto.

2. Spiega le modifiche specifiche per ogni nuova versione

Una delle situazioni più fastidiose in cui puoi trovarti come utente finale è ricevere un sacco di aggiornamenti senza sapere cosa fa nessuno di loro. Sappiamo che la maggior parte delle persone non legge i log delle modifiche, ma se hai intenzione di pubblicare un aggiornamento, anche se è solo una patch minore, devi documentarlo.

Un esempio di changelog.

I log delle modifiche, come suggerisce il nome, sono una semplice suddivisione delle novità in ogni versione. Alcuni sviluppatori scrivono lunghi aggiornamenti per spiegare ogni singolo cambiamento e se sei uno di loro, più potere per te.

Ad essere onesti, di solito ci accontentiamo di un semplice elenco conciso delle novità. Mettere insieme un registro delle modifiche è semplice e non dovrebbe richiedere molto tempo, quindi sii calmo e non lesinare sui tuoi doveri!

3. Raccogli il feedback degli utenti per ogni versione

Probabilmente hai una buona idea di come vuoi che sia il tuo progetto finito. Tuttavia, questo non significa che puoi eliminare il feedback degli utenti o del resto del tuo team.

Idealmente, otterrai un certo livello di feedback per ogni versione che pubblichi, salvo piccole patch e correzioni di bug. L'obiettivo di questo processo è farti sapere se gli utenti stanno riscontrando problemi o se hanno problemi con la direzione in cui si sta dirigendo il progetto.

L'esempio più semplice di questo processo in azione sarebbe la condivisione dell'ultima versione di un sito Web in corso con il cliente. Nella stragrande maggioranza dei casi, i clienti avranno un certo livello di feedback per te, che puoi incorporare nelle versioni future.

Tieni presente, tuttavia, che ascoltare il feedback è importante, ma in alcuni casi potresti saperlo meglio dei tuoi utenti. Tuttavia, questo non significa che dovresti ignorarli, ma a volte il tuo istinto potrebbe avere ragione.

Conclusione

Il versionamento semantico è un sistema straordinariamente semplice. Con pochi numeri, puoi trasmettere molte informazioni sui progressi di sviluppo del tuo progetto, far sapere agli utenti quando ci sono nuovi aggiornamenti importanti e generalmente mantenere le cose organizzate.

Ricapitoliamo tre delle migliori pratiche da tenere a mente per il versionamento semantico:

  1. Non iniziare con la prima versione fuori dal cancello.
  2. Spiegare le modifiche specifiche per ogni nuova versione.
  3. Raccogli il feedback degli utenti per ogni versione.

Avete domande su come utilizzare il versionamento semantico? Chiedi via nella sezione commenti qui sotto!

Immagine in miniatura dell'articolo di fatmawati achmad zaenuri / shutterstock.com