La revisione del codice è una parte del processo di sviluppo del software che prevede di testare il codice sorgente per identificare i bug in una fase iniziale. La procedura di revisione del codice di solito viene condotto prima dell’integrazione nel codebase.

Un’efficace revisione del codice impedisce che bug ed errori si facciano strada nel vostro progetto, cosa che migliorerà la qualità del codice in una fase iniziale della procedura di sviluppo del software.

In questo articolo, spiegheremo cos’è la revisione del codice ed esploreremo i più diffusi strumenti di revisione del codice che aiutano le organizzazioni nella procedura di revisione del codice.

Cos’È la Procedura di Revisione del Codice?

L’obiettivo primario della procedura di revisione del codice è quello di valutare qualsiasi nuovo codice per cercare bug, errori e verificare il rispetto degli standard di qualità stabiliti dall’organizzazione. La procedura di revisione del codice non dovrebbe consistere solo in un feedback unilaterale. Pertanto, un beneficio intangibile della procedura di revisione del codice è il miglioramento delle capacità di codifica di tutto il team.

Se desiderate avviare una procedura di revisione del codice all’interno della vostra organizzazione, dovreste prima decidere chi deve rivedere il codice. Se fate parte di un piccolo team, potete assegnare ai lead del team la revisione di tutto il codice. In un team più grande con più revisori, potreste attivare una procedura in cui ogni revisione del codice viene assegnata a uno sviluppatore esperto in base al suo carico di lavoro.

La prossima considerazione per voi è quella di decidere le tempistiche, i turni e i requisiti minimi per la presentazione delle richieste di revisione del codice.

La considerazione finale riguarda il modo in cui il feedback dovrebbe essere dato nella procedura di revisione del codice. Assicuratevi di evidenziare gli aspetti positivi del codice, suggerendo al tempo stesso delle alternative per gli svantaggi.

Il vostro feedback dovrebbe essere costruttivo in modo da incoraggiare lo sviluppatore a comprendere il vostro punto di vista e ad avviare una conversazione quando necessario.

Mantenete il vostro feedback istruttivo

Mantenete il vostro feedback istruttivo

È facile che le revisioni del codice rimangano bloccate in un limbo, il che porta ad essere meno efficienti e persino controproducenti.

Non lasciare che bug ed errori influiscano sul duro lavoro che hai fatto sul tuo progetto 🐛 Trova i migliori strumenti di revisione del codice con questa guida ⤵️Click to Tweet

Perché la Revisione del Codice È Fondamentale?

La procedura di revisione del codice è fondamentale perché non fa mai parte del programma di studi nelle scuole. Potete imparare le sfumature di un linguaggio di programmazione e di project management, ma la revisione del codice è una procedura che si evolve con l’età dell’organizzazione.

La revisione del codice è fondamentale per i seguenti motivi:

Le revisioni del codice portano a migliorare ulteriormente le competenze degli altri membri del team. Poiché uno sviluppatore senior di solito si occupa della revisione del codice, uno sviluppatore junior può utilizzare questo feedback per migliorare le sue capacità di codifica.

Come Eseguire una Revisione del Codice?

Ci sono quattro modi per condurre le revisioni del codice.

Revisioni del Codice Over-the-Shoulder

Le revisioni del codice vengono effettuate sulla postazione di lavoro dello sviluppatore, dove un membro del team esperto scorre il nuovo codice, fornendo suggerimenti durante la conversazione. È l’approccio più semplice alle revisioni del codice e non richiede una struttura predefinita.

Tale revisione del codice può essere effettuata ancora oggi in modo informale, insieme ad un’eventuale procedura formale di revisione del codice già in atto. Le revisioni del codice over-the-shoulder sono tradizionalmente effettuate di persona, mentre i team distribuiti possono seguire questo metodo anche attraverso strumenti collaborativi.

Email Pass-Around

Mentre le revisioni del codice over-the-shoulder sono un ottimo modo per rivedere il nuovo codice, i team geograficamente distribuiti si sono tradizionalmente affidati alle email per le revisioni del codice.

In questa procedura di revisione del codice, uno sviluppatore invia un’email con le modifiche all’intero team di sviluppo, di solito attraverso sistemi di controllo delle versioni che automatizzano le notifiche. Questa email avvia una conversazione sulle modifiche, dove i membri del team possono richiedere ulteriori modifiche, segnalare errori o chiedere chiarimenti.

Email Pass Around attraverso Google Groups ad ogni nuovo push

Email Pass Around attraverso Google Groups ad ogni nuovo push

All’inizio, la posta elettronica era il principale mezzo di comunicazione grazie alla sua versatilità. Le organizzazioni open source spesso mantenevano una mailing list pubblica, che serviva anche come mezzo per discutere e fornire feedback sul codice.

Con l’avvento degli strumenti di revisione del codice, queste mailing list esistono ancora, ma soprattutto per gli annunci e le discussioni successive.

Programmazione in Coppia

La programmazione in coppia può essere a volte inefficiente

La programmazione in coppia può essere a volte inefficiente

La programmazione in coppia è una procedura di revisione continua del codice. Due sviluppatori siedono su una postazione di lavoro, ma solo uno di loro codifica attivamente, mentre l’altro fornisce un feedback in tempo reale.

Anche se può servire come un ottimo strumento per ispezionare il nuovo codice e formare gli sviluppatori, potrebbe rivelarsi potenzialmente inefficiente a causa della sua natura, che richiede tempo. Questa procedura blocca il revisore dal fare qualsiasi altro lavoro produttivo durante la revisione.

Tool-Assisted

Una procedura di revisione del codice assistito da uno strumento comporta l’uso di uno strumento specializzato per facilitare la procedura di revisione del codice. Uno strumento generalmente aiuta a svolgere i seguenti compiti:

Mentre questi sono i requisiti generali di uno strumento di revisione del codice, gli strumenti moderni possono fornire una manciata di altre funzioni. Esploreremo una serie di strumenti di revisione del codice più avanti in questo articolo.

Perché Utilizzare gli Strumenti di Revisione del Codice?

Il risultato principale di una procedura di revisione del codice è l’aumento dell’efficienza. Mentre questi metodi tradizionali hanno funzionato in passato, potreste perdere efficienza se non passate a uno strumento di revisione del codice. Uno strumento di revisione del codice automatizza la procedura di revisione in modo che il revisore si concentri esclusivamente sul codice.

Uno strumento di revisione del codice si integra con il vostro ciclo di sviluppo per avviare la revisione prima che il nuovo codice venga fuso nella base principale. Potete scegliere uno strumento compatibile con il vostro stack tecnologico per integrarlo perfettamente nel vostro flusso di lavoro.

Per esempio, se utilizzate Git per la gestione del codice, TravisCI per l’integrazione continua, assicuratevi di selezionare uno strumento che supporti queste tecnologie per poterle inserire nel processo di sviluppo.

Ci sono due tipi di test del codice nello sviluppo del software: dinamico e statico.

L’analisi dinamica consiste nel verificare se il codice segue un insieme di regole e nell’eseguire test unitari, tipicamente eseguiti da uno script predefinito. Il test statico del codice viene fatto dopo che uno sviluppatore crea un nuovo codice da fondere nel codice corrente.

Ora tuffiamoci in alcuni dei più popolari strumenti di revisione del codice!

Uno Sguardo Più Attento a 12 Potenti Strumenti di Revisione del Codice

In questa sezione, passiamo in rassegna i più popolari strumenti di revisione del codice statico.

1. Review Board

Review Board è uno strumento open source basato sul web. Per testare questo strumento di revisione del codice, potete dare un’occhiata alla demo sul loro sito web o scaricare e impostare il software sul vostro server.

Panoramica di Review Board

Panoramica di Review Board

I prerequisiti per eseguire Review Board su un server sono il linguaggio di programmazione Python e i suoi strumenti di installazione, MySQL o PostgreSQL come database, e un server web.
È possibile integrare la scheda di revisione con una vasta gamma di sistemi di controllo di versione – Git, Mercurial, CVS, Subversion e Perforce. È inoltre possibile collegare Review Board ad Amazon S3 per memorizzare gli screenshot direttamente nello strumento.

Panoramica delle modifiche su Review Board

Panoramica delle modifiche su Review Board

Review Board vi consente di eseguire sia le revisioni del codice pre-commit che quelle post-commit, a seconda delle esigenze. Se non avete integrato un sistema di controllo di versione, potete usare un file diff per caricare le modifiche del codice nello strumento per una revisione.

Viene inoltre fornito un confronto grafico delle modifiche apportate al vostro codice. Oltre alla revisione del codice, la commissione di revisione consente di effettuare anche la revisione dei documenti.

La prima versione di Review Board è uscita più di dieci anni fa, ma è ancora in fase di sviluppo. Pertanto, la comunità di Review Board è cresciuta nel corso degli anni e probabilmente troverete supporto in caso di problemi con l’utilizzo di questo strumento.

Review Board è un semplice strumento per la revisione del codice, che potete ospitare sul vostro server. Dovreste provarlo se non volete ospitare il vostro codice su un sito web pubblico.

2. Crucible

Crucible è uno strumento collaborativo di revisione del codice di Atlassian. È una suite commerciale di strumenti che permette di rivedere il codice, discutere le modifiche ai piani e identificare i bug attraverso una serie di sistemi di controllo di versione.

Crucible prevede due piani di pagamento, uno per i piccoli team e l’altro per le imprese. Per un piccolo team, è necessario effettuare un pagamento una tantum di $10 per repository illimitati, utilizzabili però da un massimo di cinque utenti. Per i grandi team, le tariffe partono da $1100 per dieci utenti e repository illimitati.

Entrambi questi piani offrono una prova gratuita di 30 giorni senza bisogno di una carta di credito.

Strumento di revisione del codice del Crucible

Strumento di revisione del codice Crucible (fonte)

Simile a Review Board, Crucible supporta un gran numero di sistemi di controllo di versione – SVN, Git, Mercurial, CVS e Perforce. La sua funzione primaria è quella di consentire di eseguire revisioni del codice. Oltre ai commenti generali sul codice, consente di commentare in linea all’interno della vista diff per individuare esattamente ciò a cui ci si riferisce nello specifico.

Crucible si integra bene con gli altri prodotti aziendali di Atlassian come Confluence e Enterprise BitBucket. Tuttavia, è possibile ottenere il massimo dei vantaggi da Crucible utilizzandolo insieme a Jira, Atlassian’s Issue e Project Tracker. Permette di eseguire revisioni e audit pre-commit sul codice combinato.

3. GitHub

Se usate GitHub per mantenere i vostri repository Git sul cloud, potreste aver già usato i fork e le richieste pull per rivedere il codice. Nel caso non abbiate idea di cosa sia GitHub, ecco una guida per principianti su GitHub e sulle differenze tra Git e GitHub.

Lo strumento di revisione del codice di GitHub dentro una pull request

Lo strumento di revisione del codice di GitHub dentro una pull request

GitHub include uno strumento di revisione del codice integrato nelle sue richieste pull. Lo strumento di revisione del codice è fornito in bundle con il servizio principale di GitHub, che fornisce un piano gratuito per gli sviluppatori. Il piano gratuito di GitHub limita il numero di utenti a tre nei repository privati. I piani a pagamento partono da $7 al mese.

GitHub permette ad un revisore con accesso al repository del codice di assegnarsi alla richiesta pull e completare una revisione. Uno sviluppatore che ha presentato la richiesta di pull può anche richiedere una revisione ad un amministratore.

Oltre alla discussione sulla richiesta di pull, è possibile analizzare il diff, fare commenti inline e controllare la cronologia delle modifiche. Lo strumento di revisione del codice permette anche di risolvere semplici conflitti Git attraverso l’interfaccia web. GitHub si integra anche con altri strumenti di revisione attraverso il suo marketplace per creare una procedura più robusto.

Il tool di revisione del codice di GitHub è un ottimo strumento se siete già registrati nella piattaforma. Non richiede alcuna installazione o configurazione aggiuntiva. Il problema principale dello strumento di revisione del codice di GitHub è che supporta solo i repository Git ospitati su GitHub. Se state cercando uno strumento di revisione del codice simile che potete scaricare e ospitare sul vostro server, potete provare GitLab.

4. Phabricator

Phabricator è una lista di strumenti open source di Phacility che vi aiutano nella revisione del codice. Mentre è possibile scaricare e installare la suite di strumenti di revisione del codice sul vostro server, Phacility fornisce anche una versione cloud-hosted di Phabricator.

Non avete limitazioni se lo installate sul vostro server. Tuttavia, vi verranno addebitati $20 al mese per utente (con un tetto massimo di $1000/mese), che include il supporto. Per provarlo, potete optare per una versione gratuita valida per 30 giorni.

Phabricator

Phabricator

Phabricator supporta i tre sistemi di controllo di versione più diffusi – Git, Mercurial e SVN. È in grado di gestire i repository locali, così come di tracciare i repository ospitati esternamente. È anche in grado di scalare su più server.

Più Che uno Strumento Tradizionale di Revisione del Codice

Phabricator fornisce una piattaforma dettagliata per instaurare una conversazione con i membri del vostro team. È possibile avere una revisione pre-commit di un nuovo membro del team o condurre una revisione del codice appena inviato. Potete condurre una revisione anche sul codice fuso, una procedura che Phabricator chiama “audit”. Ecco un confronto tra una revisione e un audit su Phabricator.

Gli strumenti aggiuntivi di Phabricator vi aiutano nell’intero ciclo di sviluppo del software. Per esempio, avrete a disposizione un tracker integrato per gestire bug e funzionalità. Potete anche creare un wiki per il vostro software all’interno dello strumento attraverso Phriction. Per integrare lo strumento con gli unit test, potete utilizzare lo strumento CLI di Phabricator. È possibile costruire applicazioni su Phabricator anche attraverso le sue API.

In sintesi, Phabricator vi fornisce una tonnellata di funzioni che vi aiutano a rendere più efficiente il vostro processo di sviluppo. Ha perfettamente senso optare per questo strumento se il vostro progetto è in una fase iniziale. Se non avete le competenze per impostarlo sul vostro server, dovreste optare per la versione hosted dello strumento.

5. Collaborator

Collaborator by SmartBear è uno strumento peer code e di revisione dei documenti per i team di sviluppo. Oltre alla revisione del codice sorgente, Collaborator consente ai team di rivedere anche i documenti di progettazione. Un pacchetto di licenze per 5 utenti ha un prezzo di $535 all’anno. Una prova gratuita è disponibile a seconda delle vostre esigenze aziendali.

Collaborator Review Source

Collaborator Review Source

Collaborator supporta un gran numero di sistemi di controllo di versione come Subversion, Git, CVS, Mercurial, Perforce e TFS. Fa un buon lavoro di integrazione con i popolari strumenti di gestione dei progetti e IDE come Jira, Eclipse e Visual Studio.

Questo strumento consente anche la reportistica e l’analisi delle metriche chiave relative alla vostra procedura di revisione del codice. Inoltre, Collaborator aiuta anche nella gestione degli audit e nel tracciamento dei bug. Se il vostro stack tecnologico include il software aziendale e avete bisogno di supporto per impostare la vostra procedura di revisione del codice, dovreste provare Collaborator.

6. CodeScene

CodeScene è uno strumento di revisione del codice che va oltre la tradizionale analisi statica del codice. Esegue l’analisi del codice comportamentale includendo una dimensione temporale per analizzare l’evoluzione della vostra codebase. CodeScene è disponibile in due forme: una soluzione cloud-based e una soluzione on-premise.

I piani basati sul cloud di CodeScene sono gratuiti per i repository pubblici ospitati su GitHub. Per un massimo di dieci repository privati e un team di dieci membri, CodeScene costa €99 (circa $115) al mese. Un’installazione on-premise di CodeScene costa €15 (circa $17) per sviluppatore al mese.

Analisi dello strumento di revisione del codice di CodeScene

Analisi dello strumento di revisione del codice di CodeScene

CodeScene elabora la cronologia del vostro controllo di versione e la traspone in grafiche. Oltre a questo, applica algoritmi di machine learning per identificare modelli sociali e rischi nascosti nel codice.

Hai bisogno di un hosting veloce, sicuro e adatto agli sviluppatori per i siti dei tuoi clienti? Kinsta è costruito tenendo a mente gli sviluppatori di WordPress e fornisce un sacco di strumenti e un cruscotto potente. Dai un’occhiata ai nostri piani

Attraverso la cronologia del controllo di versione, CodeScene traccia i profili di ogni membro del team per mappare la sua knowledge base e creare dipendenze tra i team. Inoltre, introduce il concetto di hotspot nel vostro repository identificando i file che subiscono la maggior parte delle attività di sviluppo. Vi indica così gli hotspot che richiedono la massima attenzione in futuro.

Knowledge Maps di CodeScene

Knowledge Maps di CodeScene

Se state cercando uno strumento che vada oltre un tradizionale strumento di revisione del codice, non perdete la prova gratuita di CodeScene. Per saperne di più sulla logica alla base dell’analisi del codice comportamentale di CodeScene, date un’occhiata a questo white paper sui casi d’uso e i ruoli di CodeScene.

7. Visual Expert

Visual Expert è una soluzione aziendale per la revisione del codice specializzata in codice di database. Offre il supporto per tre sole piattaforme: PowerBuilder, SQL Server e Oracle PL/SQL. Se utilizzate un qualsiasi altro DBMS, non sarà possibile integrare Visual Expert per la revisione del codice.

È disponibile una prova gratuita, ma dovrete inviare una richiesta per ottenere un preventivo di prezzo.

Panoramica dello strumento di revisione del codice per Visual Expert

Panoramica dello strumento di revisione del codice per Visual Expert (fonte)

Oltre alla tradizionale revisione del codice, Visual Expert analizza ogni modifica realizzata nel codice per cercare eventuali problemi di performance dovuti alle modifiche. Lo strumento è anche in grado di generare automaticamente una documentazione completa della vostra applicazione partendo dal codice.

Se utilizzate PowerBuilder, SQL Server o Oracle PL/SQL e desiderate uno strumento di revisione del codice specializzato per le vostre esigenze, dovreste provare Visual Expert (ecco una guida alla costruzione di query WordPress efficienti).

8. Gerrit

Gerrit è uno strumento gratuito e open source di revisione del codice basato sul web per i repository Git, scritto in Java. Per usare Gerrit, dovete scaricare il codice sorgente ed eseguirlo in Java. Ecco la procedura di installazione per una versione standalone di Gerrit.

Strumento di revisione del codice Gerrit

Strumento di revisione del codice Gerrit

Gerrit combina le funzionalità di un bug tracker e quelle di uno strumento di revisione. Durante una revisione, le modifiche vengono visualizzate fianco a fianco in un diff unificato, con la possibilità di avviare una conversazione per ogni riga di codice aggiunta. Questo strumento funziona come un passo intermedio tra uno sviluppatore e il repository centrale. Inoltre, Gerrit incorpora anche un sistema di votazione.

Se possedete la competenza tecnica per installare e configurare Gerrit, e siete alla ricerca di uno strumento gratuito per la revisione del codice, questo dovrebbe servire come soluzione ideale per i vostri progetti.

9. Rhodecode

Rhodecode è uno strumento basato sul web che vi assiste nell’esecuzione di revisioni del codice. Supporta tre sistemi di controllo di versione: Mercurial, Git e Subversion. Una versione di Rhodecode basata su cloud parte da $8 al mese per utente, mentre una soluzione on-premise costa $75 all’anno per utente. Oltre alla versione software aziendale, è disponibile l’edizione community che è gratuita e open source: potete scaricarla e compilarla gratuitamente.

Rhodecode

Rhodecode

Rhodecode consente a un team di collaborare efficacemente attraverso la revisione iterativa e conversazionale del codice per migliorarne la qualità. Questo strumento fornisce inoltre un livello di gestione dei permessi per uno rendere più sicuro lo sviluppo.

Inoltre, un changelog visivo vi aiuta a navigare la storia del vostro progetto attraverso varie ramificazioni. Un editor di codice online è disponibile anche per piccole modifiche attraverso l’interfaccia web.

Rhodecode si integra perfettamente con i vostri progetti esistenti, il che lo rende un’ottima scelta per chi cerca uno strumento di revisione del codice basato sul web. Pertanto, l’edizione community è l’ideale per chi ha esperienza tecnica e cerca uno strumento di revisione del codice gratuito e affidabile.

10. Veracode

Veracode fornisce una suite di strumenti di revisione del codice che consentono di automatizzare i test, accelerare lo sviluppo, integrare una procedura di bonifica e migliorare l’efficienza del progetto. La suite di strumenti di revisione del codice di Veracode è commercializzata come soluzione di sicurezza che cerca le vulnerabilità nei vostri sistemi. Essi forniscono un set di due strumenti di revisione del codice:

Panoramica di Veracode

Panoramica di Veracode (fonte)

La revisione del codice fa parte della Software Composition Analysis e potete optare per una demo di Veracode prima di impegnarvi completamente in essa. Ecco il link per richiedere un preventivo.

11. Reviewable

Reviewable è uno strumento di revisione del codice per le richieste pull di GitHub. È gratuito per i repository open source, con piani per i repository privati a partire da $39 al mese per dieci utenti. Dal momento che lo strumento è integrato con GitHub, potete accedere utilizzando il vostro account GitHub e iniziare.

Panoramica dello strumento di revisione del codice Reviewable

Panoramica dello strumento di revisione del codice Reviewable

Se volete vedere come risulta una tipica revisione fatta con Reviewable, potete dare un’occhiata alla revisione demo.

Un aspetto interessante di Reviewable è che supera alcuni inconvenienti della revisione del codice presenti nella funzionalità di richiesta pull di GitHub. Per esempio, un commento su una linea di codice viene automaticamente nascosto da GitHub una volta che uno sviluppatore cambia la linea perché GitHub presume che il problema sia stato risolto. In realtà, le cose possono essere diverse.

Inoltre, GitHub ha limiti di linea relativamente ridotti per la visualizzazione dei file diff.

Se siete alla ricerca di uno strumento strettamente coerente con GitHub ma desiderate più funzionalità che richieste di pull, Reviewable dovrebbe essere il vostro strumento di riferimento.

12. Peer Review for Trac

Se utilizzate Subversion, il plugin Peer Review for Trac fornisce un’opzione gratuita e open source per condurre revisioni del codice sui vostri progetti. Il Peer Review Plugin si integra nel progetto open source Trac, che è un wiki e un sistema di tracciamento dei problemi per i progetti di sviluppo.

Plugin Peer Review for Trac

Panoramica del plugin Peer Review for Trac (fonte)

Trac integra il wiki e l’issue tracker con le vostre recensioni per fornire una soluzione end-to-end. Mentre sono disponibili le funzionalità di base per confrontare le modifiche e la conversazione, il plugin consente di progettare flussi di lavoro personalizzati per i vostri progetti.

Ad esempio, potreste decidere i compiti da svolgere in seguito a un trigger come la presentazione di una modifica o l’approvazione di una revisione del codice. Potete anche creare report personalizzati sui vostri progetti.

Se siete anche alla ricerca di un wiki per la documentazione e di un issue tracker per gestire la roadmap del vostro progetto, Trac potrebbe essere l’opzione corretta per voi.

Gli strumenti di revisione del codice vi proteggono da bug ed errori ❌ Trovate i migliori per il vostro team grazie alla nostra guida 🚀Click to Tweet

Riepilogo

La procedura di revisione del codice gioca un ruolo chiave quando si tratta di aumentare l’efficienza della vostra organizzazione. In particolare, sfruttare il giusto strumento di revisione vi aiuta a rimuovere la ridondanza nel vostro ciclo di sviluppo.

Abbiamo guardato più da vicino gli strumenti di revisione del codice più popolari disponibili nel [anno] ed ecco cosa abbiamo trovato:

Ora tocca a voi: quale strumento di revisione del codice utilizzate? Perché? Ditecelo nei commenti!


Se ti è piaciuto questo articolo, allora apprezzerai la piattaforma di hosting WordPress di Kinsta. Metti il turbo al tuo sito web e ricevi supporto 24×7 dal nostro team di veterani di WordPress. La nostra infrastruttura potenziata da Google Cloud è centrata su scaling automatico, performance e sicurezza. Permettici di mostrarti la differenza di Kinsta! Scopri i nostri piani