Perché utilizzare un sistema di controllo delle versioni nella progettazione PCB

Ari Mahpour
|  Creato: December 13, 2021  |  Aggiornato: March 16, 2022
Utilizzo di sistema di controllo delle versioni nella progettazione PCB

I sistemi di controllo delle versioni (VCS) sono usati da decenni nel mondo della progettazione software, tuttavia, per chi si occupa di progettazione elettronica questi sistemi possono rappresentare una novità. Questo articolo illustra la natura e le funzioni dei VCS e spiega perché sia opportuno utilizzare uno di questi sistemi nei propri progetti PCB.

Cos'è un sistema di controllo delle versioni?

Un sistema di controllo delle versioni viene utilizzato per archiviare file e creare una cronologia delle revisioni. Se hai creato un documento, lo hai condiviso e hai effettuato alcune modifiche durante questo processo, è probabile che tu voglia poter tenere traccia di tali cambiamenti. Un VCS svolge esattamente queste funzioni, sia per i singoli utenti che per i team. Gli utenti eseguiranno il commit o aggiorneranno le loro modifiche inviandole a un server, che a sua volta monitorerà tutti i file, le relative modifiche, le date in cui queste sono state apportate e tutti gli altri metadati forniti dall'utente (ad es. i commenti).

In questo modo viene creata una cronologia che permette di esaminare data, natura e autore di ciascun contributo. Ciò è particolarmente utile all'interno di un team di lavoro per individuare le modifiche da annullare o rivedere. Nel merito della progettazione PCB, un sistema di controllo delle versioni come quello offerto da Altium 365 può monitorare tutte le modifiche del progetto, dagli aggiornamenti dei parametri dei componenti alle modifiche di routing all'interno del layout PCB.

La situazione attuale

Per apprezzare davvero i vantaggi offerti da un VCS, dobbiamo prima di tutto riflettere sulla situazione attuale e le sue limitazioni. In uno scenario ideale, tutti i progettisti PCB dovrebbero utilizzare una qualche forma di VCS nei loro progetti, tuttavia, la situazione effettiva è spesso ben diversa. Sono passati ormai due anni da quando ho scritto un articolo sull'uso di Git con Altium Designer, all'epoca questo concetto era ancora relativamente nuovo all'interno della comunità. Da allora, ho notato un'implementazione crescente dei VCS all'interno di Altium Designer, ma continuano a permanere molti dei flussi di lavoro descritti in quell'articolo: progettazione della scheda, compressione dei file in un archivio ZIP, scambio di e-mail fra i vari team... anche all'interno della stessa azienda!

Una seconda possibilità, considerata un passo avanti rispetto allo scenario appena descritto, prevede che i membri del team mettano a disposizione il pacchetto di progettazione in un'unità condivisa su una rete o sul cloud. Anche se questa procedura rappresenta indubbiamente un miglioramento, non permette comunque ai team di collaborare realmente tra di loro: tutti si trovano a lavorare nel proprio ambiente stagno, caricando sull'unità condivisa solo i risultati finali. I ritmi frenetici del settore richiedono invece una continua collaborazione per: analizzare efficacemente e risolvere conflitti, confrontare i cambiamenti e fornire commenti in tempo reale. Al giorno d'oggi, è assolutamente impensabile fare progettazione PCB senza un VCS.

Ma io non faccio parte di un team

Sono molti i professionisti che lavorano autonomamente e non sentono la necessità di utilizzare un VCS. Personalmente, è da quando ho iniziato a programmare e a fare progettazione PCB che utilizzo una qualche forma di VCS. Il motivo principale è uno: l'affidabilità.

  • Non posso fare affidamento sull'infallibilità del mio disco rigido.
  • Non posso essere sicuro di ricordarmi di eseguire un backup dopo ogni modifica sostanziale.
  • Non posso nemmeno essere sicuro di ricordare i dettagli di ciascuna revisione. 

Se hai individuato un processo efficace che ti consente di mitigare questi problemi, allora complimenti, hai implementato il tuo VCS con successo! In caso contrario, dovresti valutare la possibilità di utilizzare una qualche forma di VCS, anche se lavori in modo indipendente. Se volessi in futuro invitare altre persone all'interno del team, un sistema VCS renderebbe la loro integrazione molto più semplice.

Vantaggi dei VCS

Quando si discute dell'implementazione di VCS come Subversion, Git o Altium 365, si pensa a schemi di revisione e a soluzioni di archiviazione. Questi sono in effetti i due vantaggi principali offerti da qualsiasi tipo di VCS. Un VCS fornisce una cronologia dei commit e una posizione (di solito su un server remoto) per archiviare tutti i file necessari per le esigenze di backup. Per alcuni, una soluzione di questo tipo potrebbe essere sufficientemente efficace. Tuttavia, la maggior parte dei progettisti moderni, in particolare quelli che collaborano con altri utenti in remoto, hanno bisogno di funzionalità più sofisticate di quelle offerte da un VCS di base. Nell'articolo su come utilizzare Altium 365 al posto del proprio sistema di controllo delle versioni standard illustriamo i concetti e gli strumenti necessari per implementare una collaborazione all'avanguardia, che va ben oltre le funzioni di un tipico VCS.

Conclusione

In questo articolo abbiamo illustrato la natura e le funzioni dei sistemi di controllo delle versioni e spiegato perché sia opportuno utilizzare uno di questi sistemi per i propri progetti PCB. Inoltre, abbiamo esaminato alcuni aspetti della progettazione PCB senza VCS, evidenziando le limitazioni che ne derivano, nonché descritto brevemente le funzionalità di un VCS standard, suggerendo la possibilità di passare a una soluzione più avanzata come Altium 365.

Questo è solo un assaggio di tutto ciò che è possibile fare con Altium Designer su Altium 365Inizia oggi stesso la tua prova gratuita di Altium Designer + Altium 365.

Sull'Autore

Sull'Autore

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Articoli Più Recenti

Tornare alla Pagina Iniziale