POURQUOI WEB & CO 2.0 ?

Spécialiste en développement de solutions informatiques sur mesure, nous sommes une entreprise à taille humaine. Cette proximité nous permet de travailler ensemble à la réalisation de vos objectifs. Bénéficiez de notre expérience, de notre savoir-faire et surtout ne vous adaptez plus à la solution, laissez la solution s'adaptée à vous !

NOUS CONTACTER
  • Adresse: 130 Rue du Pegas,
    45760 Marigny les Usages
  • Téléphone: 06-89-94-27-44
  • Email:contact@webandco2-0.fr

SonarQube

Comme promis le mois dernier, cette semaine on vous parle de SonarQube, ce fameux outil qui donne des sueurs froides à nous autres développeurs …

Pour faire un résumé extrêmement rapide, SonarQube est un outil (Open Source) qui permet de tester et mesurer la qualité du code d’un projet informatique. Compatible avec un grand nombre de langages, il est la garantie qualité de votre projet.

Comme vous le savez, ou pas, il existe une multitude de bonnes pratiques à mettre en place lorsque vous développez des applications, des sites ou des outils numériques. Chaque langage possède ses subtilités, chaque version apporte des changements et même le meilleur et le plus expérimenté des développeurs ne peut toutes les connaitre. C’est pourquoi SonarQube anciennement appelé Sonar par les équipes existe.

Il agit sur quatre grands axes de la vie de votre projet en fournissant des rapports d’analyse qui peuvent être aussi bien lus, interprétés et analysés par vos développeurs comme par les gestionnaires ou responsables ou même vos clients avec quelques explications.

  • Le taux de duplication de code : c’est un indicateur important, un bon projet est un projet ou chaque fonction joue son rôle, il n’y a donc par conséquent pas besoin de retrouver deux fonctions qui font la même chose. On parle alors de duplication. L’architecture de votre projet doit être pensée pour limiter cette duplication et éviter la redondance. Plus de code égale plus de bugs potentiels et la réciproque est tout aussi vraie.
  • Le niveau de documentation. Un bon code est un code documenté; lorsque vous développez une fonction vous êtes seul maitre à bord et votre voisin ou collègue ne sait pas forcement ce que vous faites. Cependant pour éviter la duplication de code il peut être amené à utiliser les parties que vous avez développées et donc pour éviter de perdre du temps à relire tout votre code pour comprendre ce que fait votre fonction; il doit être suffisant de lire simplement la documentation que vous avez rédigée avec votre code pour comprendre si oui ou non cette fonction semble bien être celle qu'il doit utiliser.
  • La détection de code sale et de bugs potentiels. Sonar fait preuve d’intelligence ( relative, celle d’un ordinateur, les développeurs ont encore de beaux jours devant eux !). Il parcourt donc votre code pour détecter d’éventuels problèmes. Il peut par exemple détecter des conditions qui ne peuvent jamais arriver auquel cas votre code est dit « mort » : il y’a des lignes qui ne servent à rien. Sonar inspecte aussi si les bonnes pratiques relatives au langage sont respectées.
  • La couverture de test : comme nous l’avons déjà précisé lorsque nous développons un projet chaque fonction à son rôle. Il faut arriver à découper son projet en une multitudes de fonctions les plus simples possibles. Pourquoi ? Car en cas de bugs il est plus facilement détectable et corrigible. De plus chaque fonction doit être testée individuellement c’est ce qu’on appelle des Tests Unitaires ou TU pour les développeurs. Ces tests permettent de prouver que selon les arguments en d'entrée de ma fonction son retour est bien celui que j’attends. Par exemple pour une fonction qui additionne deux chiffres je vais tester que si je mets 34 et 22 dans ma fonction elle me retourne bien 56 et si je mets 0 et -21 elle me retourne -21. Ces tests permettent sur les grosses applications d’éviter les régressions : vous faites évoluer du code, avant de le publier tous les tests unitaires sont relancés et si certains ne fonctionnent plus c’est que vous avez cassé une fonction qui ne retourne plus ce qu’elle devrait. Sonar permet donc d’analyser la couverture de vos tests. En effet il est impossible de tout tester mais l’objectif est d’avoir une couverture la plus élevée possible et ça sonar vous l’indiquera.

Voici en bref ce que fait cet outil d’analyse, reste à savoir maintenant comment il le restitue et comment l’utiliser. C’est assez simple Sonar attribue des notes pour chaque critère, au démarrage de votre projet vous établissez des critères de qualité et vous réglez Sonar pour qu’il vous les impose. Par exemple je souhaite que mon projet ait un taux de duplication de code inférieur à 20%, que mes tests couvrent 80% de mon application que 75% de mon code dispose de commentaires et que ma qualité globale (bugs potentiels + bonnes pratiques) obtienne une note minimum B ou une dette technique inférieure à 30 jours. (Sonar permet de définir par problème rencontré une durée de correction du problème potentiel : c’est ce qu’on appelle la dette technique).

Pour l’utilisation, chaque équipe, chaque entreprise à son mode de fonctionnement. Vous pouvez demander à Sonar d’effectuer une analyse tous les x jours ou à chaque publication d’une version de votre application ou encore à chaque publication de code sur l’outil de versioning. C’est cette méthode que nous utilisons chez Web & Co 2.0,; chaque fois que l’un de nos développeurs pousse un morceau de code il reçoit un rapport sonar dans les minutes qui suivent. Nous sommes donc très réactifs sur la qualité des codes fournis et garantissons un niveau de sureté excellent.

N’hésitez pas à échanger avec nous si vous avez des questions, des suggestions ou simplement parce que vous souhaitez nous parler ;-)

A très bientôt.

PS : si SonarQube vous intéresse : c'est par ici : https://www.sonarqube.org

Analyse 31 PHP 17 CSS 19 JAVA 6 SQL 19 JQuery 16 Intégration 31 Javascript 21 Html 20
Partager l'article: