SonarQube
SonarQube è un software di analisi statica del codice, in grado di individuare nei codici sorgenti errori e problemi tipici del linguaggio che si sta analizzando e quindi stimare un certo livello di qualità del codice che si è scritto, con lettere dalla A alla E. Ai fini del nostro esame, l'utilizzo di Sonar nonché l'ottenimento di un Quality Gate A è un requisito essenziale.
Scritto in Java, Sonar è in grado di analizzare più di 20 diversi linguaggi di programmazione (e non), tra i cui principali vi sono: Java, Python, C/C++, C#, VB.NET, Swift, Javascript, COBOL, Javascript, PHP, Python, HTML, XML, ...
Questo potente strumento è in grado di rilevare diversi tipi di problemi:
- Bug: codice da sostituire immediatamente poiché è quasi sicuro che prima o poi genererà errori potenzialmente anche fatali
- Vulnerabilità: problemi legati a possibili falle di sicurezza che potrebbero fornire un punto di accesso a degli attaccanti
- Code Smell: cattive pratiche di programmazione che sarebbe meglio sostituire
- Codice Duplicato
- Mancanza di test
Oltre che semplicemente rilevare problemi, SonarQube è anche in grado di assegnare loro una "gravità" ed effettuare misurazioni della bontà del software secondo diverse metriche. Inoltre è completamente configurabile, personalizzabile e come se non bastasse anche open source, qualità che gli permettono di venire scelto da numerose aziende, anche multinazionali, per questo tipo di analisi del codice.
Insieme vedremo come poter installare e utilizzare SonarQube per analizzare progetti C# e successivamente quali sono stati i risultati dell'analisi prodotta da SonarQube sul nostro progetto.