Settore: Finance| Anno: 2019
Righe su righe di codice analizzate: Spindox controlla la qualità del codice di un grande cliente finance.
Qualsiasi momento è buono per controllare se il codice scritto rispetta o meno le leggi della “buona progettazione”. La bontà del codice infatti è fondamentale, in quanto influisce sulla qualità, la portabilità, l’affidabilità generale e la sicurezza del software (un code di bassa qualità, aumenta notevolmente i rischi per la sicurezza dell’azienda).
Un importante cliente del mondo finance si è rivolta a Spindox con la necessità di analizzare tutto il codice rilasciato dai suoi fornitori e verificarne il rispetto di regole di sicurezza e di qualità, in modo da renderlo il più possibile manutenibile, riutilizzabile e gestibile nel tempo, scevro da bug e da qualsiasi altra problematica.
Ma quando un codice è considerato buono? In sostanza, il codice è considerato buono se segue uno stile coerente, se è facile da capire, se è stato ben documentato e se può essere testato.
Soluzione
Per il controllo del codice abbiamo inserito Sonarqube (una piattaforma open source per la gestione della code quality) nell’intero ciclo devops, ovvero in tutta la catena di produzione del softwarare, e configurato dei quality gate grazie ai quali se un software non rispetta un determinato livello di bontà del codice (diviso in bug, code smell e sicurezza), il fornitore non può rilasciare in system test.
Con cadenza settimanale, sono stati impostati dei job che analizzano tutto il code rilasciato nei repository di produzione del cliente.
Nello specifico viene controllato:
- come è stato scritto il codice
- come sono stati utilizzati i nomi
- il modo in cui sono state realizzate le funzioni
- come è stato commentato e formattato il code
- il modo in cui vengono gestiti gli errori e le eccezioni
- l’applicazione di best practices
Se durante l’analisi viene evidenziato almeno un bug, un codice smell bloccante o una vulnerability, il cliente può bloccare il rilascio.
Senza il raggiungimento di determinati parametri, il fornitore per poter rilasciare deve chiedere una deroga, altrimenti viene invitato a rivedere e sistemare il codice prima di procedere.
Vantaggi
- Controlli di qualità del codice in tempo reale che consentono una risoluzione dei problemi tempestiva da parte degli sviluppatori.
- Verifica costante delle violazioni delle regole che possono mettere a rischio la code quality.
- Riduzione della complessità del codice.
- Miglioramento stilistico e architetturale del codice per agevolarne nel corso del tempo la manutenzione e la gestione.
- Aumento dell’efficienza, della portabilità e della compatibilità del software.