Categoria:
Programmazione

Perché dovresti usare un Sistema di Controllo Versione quando sviluppi un software, anche se lavori da solo.

Il titolo presuppone che tu - che stai leggendo - sappia già cos'è un Sistema di Controllo Versione. Nel caso non sia così cerco di spiegartelo brevemente: è un software che tiene traccia di tutte le modifiche apportate a file e directory di un progetto. È particolarmente utile nel caso in cui le modifiche vengano apportate a semplici file di testo, come nel caso della programmazione.

Se non stai usando un software simile, ti consiglio di farlo subito. Ecco il perchè.

1) Sincronizza il codice sorgente su più computer

Questo aspetto è fondamentale se lavori in un team di più persone ad uno stesso software: le modifiche al codice fatte da Mario vengono propagate nei computer di Luigi e di Poldo (e viceversa).

2) Mantiene lo storico di tutte le modifiche al codice sorgente

Ogni modifica al codice sorgente viene memorizzata dal sistema in un registro interno. È possibile (anzi, suggerito) anche commentare le modifiche apportate, a futura memoria.

Non ti ricordi il motivo per cui hai scritto un pezzo di codice sorgente tre mesi prima? Guardi nel registro.
Vuoi vedere com'era il codice di quel file un anno fa? Guardi nel registro.
Vuoi vedere il ragionamento con cui il tuo collega ha scritto una nuova funzionalità del vostro software? Guardi nel registro.

3) Ti consente di ripristinare il codice ad una versione passata

Grazie al registro delle modifiche, il sistema può ricreare lo stato di ogni singolo file alla versione in cui era in una qualsiasi data passata.

Ciò significa che se, per esempio, le modifiche che hai apportato ad un file hanno causato più danni che benefici, puoi ripristinare quel file ad una data antecedente a quelle modifiche.

4) Si integra con sistemi in cloud

Mai sentito parlare di GitHub, BitBucket o GitLab? Sono servizi in cloud che integrano al loro interno un sistema di controllo versione. Significa che il registro delle modifiche che tu e il tuo team fate al vostro software viene salvato nel vostro account su questi servizi in cloud.

Ciò ti permette di avere un backup sicuro del tuo codice attuale (e di tutte le versioni del tuo codice) e potenzialmente di lavorare con gente dall'altra parte del mondo. Non è un punto obbligatorio, ma personalmente lo consigliamo tantissimo.

smutch.github.io

Se non sei abituato, l'utilizzare questo sistema comporterà sicuramente qualche cambiamento nel tuo modo di lavorare, ma ti garantisco che i vantaggi saranno così evidenti da non poterne più farne a meno.