SonarQube és una eina essencial per a l’anàlisi i millora de la qualitat del codi font en projectes de programari. Aquesta plataforma permet detectar errors, vulnerabilitats i incompliments de bones pràctiques, ajudant els equips de desenvolupament a mantenir un codi més net, eficient i segur.

Principals beneficis de SonarQube

L’impacte de SonarQube en el desenvolupament de programari és notable. Entre els seus avantatges, destaquen:

  • Detecció de vulnerabilitats i errors: Identificació automàtica de possibles fallades de seguretat, evitant riscos en els entorns de producció.
  • Refactorització i millora del codi: Proporciona recomanacions sobre bones pràctiques per mantenir un codi net, llegible i eficient.
  • Anàlisi de codi en temps real: Integració amb entorns de desenvolupament per oferir suggeriments immediats durant la codificació.
  • Compliment de normatives i estàndards: Verificació automàtica del compliment de regles de qualitat i seguretat per garantir un programari robust.
  • Reducció de costos de manteniment: Un codi més net i estructurat facilita el manteniment a llarg termini, reduint la necessitat de corregir errors en fases més avançades.
  • Augment de l’eficiència de l’equip: Amb una millor visibilitat sobre la qualitat del codi, els equips poden treballar de manera més coordinada i productiva.

SonarQube al CTTI

Utilitzem la versió SonarQube 9.9 LTS com a eina principal per garantir la qualitat del codi en els projectes de desenvolupament. L’ús de Quality Gates basades en entrega inicial i entrega contínua assegura que cada nova incorporació de codi compleixi els estàndards establerts abans de ser implementada en producció. Això permet mantenir un desenvolupament segur i eficient en totes les aplicacions governades pel CTTI.

Llenguatges de programació suportats en la versió Community

SonarQube en la seva versió Community és compatible amb una àmplia varietat de llenguatges de programació, incloent:

  • Java
  • JavaScript
  • TypeScript
  • Python
  • Kotlin
  • HTML, CSS
  • C, C++
  • PHP
  • Go
  • Shell Script
  • Terraform
  • Ansible

Bones pràctiques en l’ús de SonarQube

Per obtenir el màxim rendiment de SonarQube, és recomanable seguir aquestes bones pràctiques:

  • Integrar SonarQube des de l’inici del projecte per garantir un codi net des del primer moment.
  • Executar anàlisis de codi de manera periòdica per detectar problemes a temps.
  • Configurar regles de qualitat adaptades al projecte segons les necessitats específiques de l’equip.
  • Actuar sobre els informes generats per corregir errors i millorar la qualitat del codi de manera constant.
  • Utilitzar SonarLint en els IDEs per detectar problemes en temps real durant el desenvolupament.
  • Configurar Quality Gates amb criteris de ‘new code’ i entrega contínua per garantir que les noves funcionalitats compleixin els estàndards de qualitat abans de ser desplegades i traçabilitat entre releases.

Novetats de la versió 9.9 LTS respecte a la 9.2

La versió 9.9 LTS de SonarQube introdueix millores significatives que optimitzen el seu rendiment i seguretat:

  • Anàlisi de codi més ràpid: Implementació de l’anàlisi incremental i memòria cau al servidor, aconseguint una reducció de fins al 50% en el temps d’anàlisi de sol·licituds de canvi.
  • Millores en seguretat per a aplicacions Cloud-Native: Incorporació de noves regles per a AWS, GCP i Microsoft Azure, així com per a Docker i Kubernetes, millorant la seguretat dels desplegaments.
  • Optimitzacions per a Android: Noves regles per a Kotlin i Java, millorant la seguretat i el compliment de bones pràctiques en aplicacions Android.
  • Interfície d’usuari millorada: Optimitzacions per facilitar la identificació de problemes i millora de la sincronització dels perfils de qualitat amb els IDEs.
Responsable Destinataris
Àrea de Qualitat Proveïdors de desenvolupament i manteniment dels SI de la Generalitat de Catalunya, Responsables de Projecte
Guies i Manuals