Revisione del codice

Che cos’è la revisione del codice?

La revisione del codice è un processo di peer review utilizzato per esaminare il codice in modo da individuare i problemi e migliorare la qualità del software. La revisione del codice è una fase importante del processo di sviluppo software per sistemi embedded, soprattutto quelli che richiedono la certificazione.

Un team di revisione del codice è in genere composto da un moderatore, un ingegnere o un responsabile della qualità e dagli sviluppatori del software. Il team spesso utilizza una checklist di revisione del codice per esaminare sistematicamente tutti gli aspetti pertinenti del software. Ad esempio, il team potrebbe valutare la complessità del codice, cercare gli errori logici o di programmazione comuni e verificare la conformità a standard di codifica come MISRA-C/C++ o CERT C/C++. Gli strumenti di analisi statica del codice vengono spesso utilizzati per facilitare le revisioni del codice.

Perché eseguire revisioni del codice?

I team software adottano pratiche di revisione del codice per:

  • Rilevare errori di codifica: riduci il rischio che vengano trovati errori nelle fasi avanzate del ciclo di sviluppo o da un cliente
  • Verificare la presenza di eventuali violazioni degli standard di codifica: verifica la conformità a standard di codifica come MISRA C, CWE, CERT C/C++ o AUTOSAR C++14
  • Ridurre la complessità del codice: migliora la leggibilità e la manutenibilità e riduci il rischio di errori e difetti
  • Individuare problemi legati alla logica e all’architettura: riduci il tempo e le difficoltà dei test del software individuando questi problemi per tempo
  • Promuovere la responsabilità del team: migliora la qualità e la condivisione delle conoscenze distribuendo le responsabilità
  • Assistere i nuovi ingegneri: insegna ai nuovi ingegneri le pratiche, la progettazione e l’architettura di codifica

Best practice per le revisioni del codice

 Tipico workflow di sviluppo software.

Tipico workflow di sviluppo software.

Nonostante esistano diverse tecniche di revisione del codice, la maggior parte fa affidamento su alcune best practice:

  • Definire e comunicare gli obiettivi e il processo di revisione del codice: integra le revisioni del codice nel processo di sviluppo software del team e assicurati che il team comprenda i vantaggi del processo e il ruolo dei vari membri
  • Creare una checklist di revisione del codice: fornisci ai revisori del codice linee guida sistematiche per verificare che il codice soddisfi gli standard di qualità
  • Definire i quality gate: individua chiaramente i criteri per l’approvazione delle modifiche del codice
  • Creare un’atmosfera di collaborazione: concentrati sul codice, non sul codificatore, per raggiungere gli obiettivi di revisione del codice, e ricorda ai revisori di essere oggettivi, consapevoli e costruttivi nei loro commenti
  • Concedere il tempo necessario: limita la revisione del codice a un massimo di 60 minuti, o a circa 400 righe di codice alla volta, in modo da favorire la concentrazione dei revisori
  • Fornire un’adeguata formazione: concentrati sullo sviluppo delle competenze di revisione del codice dei membri del team

Come rendere più efficaci le revisioni del codice

L’inefficienza del processo di revisione del codice può ridurre la produttività e provocare frustrazione. L’analisi statica è un modo veloce ed efficace per trovare gli errori di programmazione e garantire la conformità alle regole e alle convenzioni di codifica. I revisori del codice possono concentrarsi sugli aspetti più interessanti e complessi della revisione del codice come il rilevamento dei problemi di logica e di progettazione.

Come accelerare il processo di revisione con i prodotti Polyspace

I prodotti per l’analisi statica del codice Polyspace utilizzano metodi formali per verificare il codice sorgente in merito a violazioni degli standard di codifica, difetti del codice e vulnerabilità di sicurezza. È inoltre possibile utilizzare questi prodotti per dimostrare l’assenza di errori critici di runtime in tutti i flussi di controllo e di dati possibili.

Polyspace si integra facilmente con altri strumenti di sviluppo software per accrescere l’efficienza garantendo un’analisi statica di ogni codice inviato:

  • Analizzando il codice prima della revisione: individua eventuali problemi non appena il codice viene scritto utilizzando Polyspace as You Code da ambienti di sviluppo integrati (IDE) quali Visual Studio, Visual Studio Code ed Eclipse. Gli sviluppatori possono individuare problemi nel file che stanno modificando o eseguire un’analisi di tutti i file prima di inviarli per la revisione del codice
Rilevamento degli errori di codifica con il plugin Polyspace as You Code in Visual Studio Code.

Rilevamento degli errori di codifica con il plugin Polyspace as You Code in Visual Studio Code.

  • Integrando l’analisi statica con gli strumenti di revisione del codice: integra Polyspace negli strumenti di revisione del codice quali Review Board e Gerrit, in cui Polyspace funge da revisore eseguendo analisi sulle modifiche del codice e restituendo i risultati allo strumento
Workflow di uno strumento di revisione del codice con analisi Polyspace automatica.

Workflow di uno strumento di revisione del codice con analisi Polyspace automatica.

Scopri di più sui prodotti Polyspace

  • Polyspace Bug Finder™ verifica il codice sorgente C/C++ in merito alle violazioni degli standard di codifica, trova diversi tipi di bug, rileva vulnerabilità di sicurezza e calcola le metriche di qualità come le metriche di complessità del codice
  • Polyspace Code Prover™ utilizza metodi formali per dimostrare l’assenza di errori critici di runtime nel codice sorgente C/C++ senza eseguire il codice
  • I prodotti Polyspace per Ada dimostrano l’assenza di errori runtime nel codice sorgente Ada