Strumento per lo sviluppo software

Gli 8 migliori strumenti di code review da provare

Scrivere righe di codice per ore è già abbastanza impegnativo; dover poi controllare da soli ogni possibile errore è una vera tortura, oltre che poco efficiente.

Come possiamo mettere fine a questa tortura? Chiedendo aiuto ai colleghi! Non c'è niente di meglio di un paio di occhi "freschi" su un progetto per rifinirlo davvero. Questo è esattamente lo scopo della code review.

Strumenti di code review

Che cos'è una code review, esattamente? La peer code review è il modo più affidabile per assicurarsi che il codice sia privo di errori, di alta qualità e conforme alle linee guida del team.

Anche se la collaborazione sul codice avviene tra sviluppatori in carne e ossa, esistono strumenti di code review che aiutano i reviewer a fare un ulteriore passo avanti sul fronte della qualità. Qui sotto trovi un elenco di software per la code review che tu (e chi rivede il tuo codice) potete mettere alla prova.

Ma prima di tuffarci nella lista, vediamo velocemente come si fa una buona code review.

Come fare una code review

Esistono diverse tecniche che i reviewer più esperti utilizzano nel processo di code review:

Tecnica

Descrizione

"Ispezione"

Anche se il termine può sembrare intimidatorio, è il nome usato per una delle prime tecniche formali di code review, introdotta da Michael Fagan. Si tratta di una revisione molto strutturata, che coinvolge più persone e diverse fasi per analizzare il codice riga per riga, spesso usando solo una stampa del sorgente e la propria testa.

Code review basata sulle modifiche

Questa tecnica, più semplice, si concentra esclusivamente sulle modifiche apportate al codebase. Di solito i reviewer utilizzano strumenti software che li aiutano a visualizzare e valutare i cambiamenti.

Over-the-shoulder

Con la code review "over-the-shoulder" uno sviluppatore più esperto guarda letteralmente "sopra la spalla" dell'autore mentre scrive il codice, commentando in tempo reale e suggerendo miglioramenti.

Pass-around

Questa tecnica coinvolge un intero team di reviewer: un sistema di gestione inoltra il codice via email (o tramite strumenti dedicati) ai membri del team, che possono recensirlo e commentarlo a turno.

Come rendere più efficaci le tue code review

Modificare e commentare il codice di un collega è utile, ma spesso non lascia molto spazio alle spiegazioni. L'autore non capisce davvero il "perché" dietro ai cambiamenti e rischia di non crescere come sviluppatore.

Lo abbiamo imparato sulla nostra pelle mentre costruivamo una delle piattaforme leader per l'hosting video business. Dal momento che il nostro team lavora da remoto, per noi era fondamentale dare contesto a ogni code review. Abbiamo scoperto che il modo migliore per spiegare le modifiche (e risparmiare tempo) è registrare lo schermo mentre facciamo la revisione.

Per questo abbiamo creato ScreenRec. Con ScreenRec puoi catturare facilmente lo schermo e guidare il collega passo passo attraverso la review. Quando hai finito, puoi condividere la registrazione all'istante inviando all'autore un link di visualizzazione sicuro. Provalo tu stesso!

Migliorare la qualità del codice

I migliori 8 strumenti di code review

Ora che abbiamo chiarito le basi della code review, vediamo la nostra lista degli strumenti più interessanti che vale la pena provare.

1. Gerrit

Collaborazione sul codice online

Gerrit è uno strumento open source costruito sopra il sistema di versionamento Git. Uno dei suoi punti di forza è che consente a più reviewer di lavorare contemporaneamente sullo stesso progetto.

Ogni persona può vedere in tempo reale tutte le modifiche apportate al codebase. Gerrit integra anche uno spazio per commenti e discussioni. In breve, è pensato per favorire la collaborazione in tutte le fasi della review.

Funzionalità principali

  • Server SSH e HTTPS integrati con Git
  • Supporto ai plugin lato server

Prezzi

Gratis

2. Phabricator

Come fare una code review

Phabricator è uno di quegli strumenti "tutto in uno" per la code review. È un'app open source che permette agli sviluppatori di collaborare direttamente all'interno dell'ambiente di revisione. Oltre alla review vera e propria, include funzioni di discussione, strumenti di pianificazione, test del codice e persino metriche di complessità come la cyclomatic complexity. In pratica, tutto ciò che un reviewer può desiderare, Phabricator ce l'ha.

Funzionalità principali

  • Possibilità di usare un repository come proxy leggendo da un'altra origine
  • Workboard integrata per assegnare task di review e vedere cosa è stato modificato o aggiunto
  • Funzione di chat integrata

Prezzi

Gratis oppure 20 $ al mese per utente

3. Atlassian Crucible

Processo di code review

Questa web app si concentra sul miglioramento del codice, non solo sulla peer review in sé. Le sue funzioni di tracciamento permettono di seguire le modifiche a ogni singolo pezzo di codice e le azioni intraprese dai collaboratori. Dispone anche di un sistema di reportistica che consente ai reviewer di spiegare per iscritto le modifiche effettuate.

Funzionalità principali

  • Interamente web-based
  • Leggera e basata su tecniche formali di code review
  • Discussioni in-line direttamente sul codice

Prezzi

10 $ per un massimo di 5 utenti

4. Review Assistant

Peer code review

Review Assistant è un buon modo per mantenere il team organizzato lungo tutto il ciclo di sviluppo, fino alla fase di review. Il flusso è molto lineare: commentare il codice, correggerlo e poi verificarlo. In più, Review Assistant genera report dettagliati sul lavoro svolto da ciascun membro del team. È un'app semplice che però gestisce senza problemi il carico di lavoro.

Funzionalità principali

  • Integrazione con Visual Studio
  • Workflow personalizzabile
  • Discussioni direttamente nel codice

Prezzi

Gratis per 3 utenti, oppure 349,95 $ per 10 utenti

5. Reviewable

Code review sicura

Reviewable è il classico strumento pensato per mantenere tutti allineati. Riduce al minimo le attività amministrative e offre una logica completamente personalizzabile che ti aiuta a capire quando una review può dirsi davvero conclusa. L'interfaccia è pulita e ordinata, il che rende il lavoro quotidiano più piacevole.

Funzionalità principali

  • Funziona esclusivamente con GitHub
  • Layout affiancato per confrontare facilmente le differenze
  • Traccia le discussioni sul codice finché non vengono risolte

Prezzi

Gratis oppure 39 $ al mese per 10 utenti

6. ReviewBoard

Revisione del codice sorgente

Se cerchi qualcosa di semplice, ReviewBoard potrebbe essere la scelta giusta. Rinuncia alle funzioni più "lussuose" e ti offre solo ciò che serve davvero per completare una review: un editor e la possibilità di inserire commenti. Fa comunque il suo lavoro, con in più il vantaggio di evidenziare la sintassi per rendere la lettura più facile.

Funzionalità principali

  • Permette di rivedere anche mockup, immagini e file PDF
  • Include un issue tracker integrato
  • I commenti appaiono accanto al codice

Prezzi

Gratis se installato on‑premise, oppure 29 $ al mese per 10 utenti con RB Hosting

7. JArchitect

Analisi del codice sorgente

Creato specificamente per il codice Java, JArchitect analizza in profondità l'intero codebase e genera un report completo con i possibili errori e le aree da migliorare. Con funzioni come interrogazioni sul codice, gestione delle issue e monitoraggio delle tendenze, questo strumento cerca di proteggere gli sviluppatori da problemi e frustrazioni future.

Funzionalità principali

  • Confronto avanzato tra build e diff del codice per un tracciamento aggiornato dei progressi
  • Oltre 80 metriche di qualità del codice
  • Stima automatica del technical debt

Prezzi

Circa 500 $+ tra licenza e abbonamento (il prezzo preciso viene indicato in un preventivo personalizzato)

8. Codementor

Peer code review con mentore

Se preferisci sessioni di review live 1:1, Codementor è lo strumento che fa per te. Con oltre 12.000 mentor verificati, puoi metterti in contatto con uno sviluppatore esperto che analizzerà il tuo codice e ti aiuterà a portarlo a un livello professionale prima del rilascio.

Funzionalità principali

  • Ampia community di mentor selezionati che offrono sessioni live 1:1 di code review
  • Strumenti di messaggistica integrati
  • Possibilità di firmare un NDA per proteggere il tuo codice

Prezzi

Dipende dal mentor; di solito le tariffe partono da circa 10 $ ogni 15 minuti

Conclusioni

È chiaro che fare una buona code review non deve essere per forza complicato. Con gli strumenti giusti e con ScreenRec puoi rivedere il codice, spiegare a fondo le modifiche e discutere un progetto in modo semplice ed efficace. Hai a disposizione molte opzioni per migliorare le tue competenze di sviluppo nel lungo periodo. E chissà, magari presto diventerai tu stesso un vero guru della quality assurance.

Riferimenti e letture consigliate

Twitter
Facebook
Linkedin

NON PERDERTI NULLA

Ricevi aggiornamenti su nuovi articoli, webinar e altre opportunità: