Première analyse de code ABAP

Après avoir vu dans le post précédent comment récupérer le code ABAP à analyser, à l’aide de l’extracteur fourni par Sonar, nous allons procéder à notre première analyse… mais pas avec le code que nous avons extrait.

En effet, la première fois que je vais paramétrer une analyse pour une nouvelle technologie, je vais effectuer un premier essai avec du code dont je suis certain qu’il ne pose pas de problèmes, du code déjà testé et éprouvé par Sonar, et téléchargeable depuis cette page : Sonar Project Examples.

Cette page renvoie vers d’autres pages au sein desquelles vous pouvez naviguer pour découvrir différents exemples de projets ou simplement clicker sur le lien qui permet de télécharger un fichier compressé.

Celui-ci contient avec un répertoire ..projectslanguages avec différents sous-répertoires de code source, dont celui qui nous intéresse dans un dossier ‘abap’. Une fois dézippé, je vais copier ce répertoire dans mon environnement d’analyse, en le renommant ‘SonarAbap’ afin de le différencier du code extrait.

Si nous regardons ce que nous avons :

  • Un sous-répertoire ‘src’ avec 2 fichiers ‘ZBCMKZ17.abap’ et ‘ZZBGS106.abap’ (rappelez-vous les conventions de nommage dont nous parlions dans cette page).
  • Un fichier ‘sonar-project.properties’ avec les différents paramètres utiles pour notre analyse.

Paramétrage de l’analyse

Nous allons effectuer notre analyse sous Jenkins, sans présenter le détail de sa création puisque vous avez déjà l’habitude de procéder ainsi pour vos applications Java. Si vous êtes un consultant SAP ou Qualité et/ou n’avez jamais utilisé Sonar ni même procédé à son installation, patientez un peu. Notre prochaine série portera sur une installation complète d’un environnement d’analyse avec Sonar.

Il nous faut indiquer certains paramètres génériques tels que le nom du projet ou sa version, bien sûr le langage et enfin, la localisation du code à analyser :

Dans l’exemple ci-dessus, j’ai repris exactement les mêmes paramètres que dans fichier ‘properties’ fourni par Sonar. J’ai simplement indiqué que le répertoire racine (‘project home’) se trouve là où j’ai recopié le code, dans mon environnement d’analyse, sous ‘C :SRCABAPSonarAbap’ (attention aux ‘/’ dans l’indication de ce directory).

Nous pouvons maintenant lancer notre analyse et en vérifier les résultats.

Validation de l’analyse

Afin de valider notre première analyse, nous allons vérifier le log sous Jenkins.
Tout d’abord, le message suivant …

nous indique que l’analyse s’est effectuée correctement, et que les résultats sont disponibles dans le tableau de bord Sonar. En parcourant rapidement la page de log, je ne décèle aucun message concernant un quelconque problème de parser. Ce serait un message de type ‘Warning’ qui n’interrompt pas l’analyse, mais c’est une bonne habitude à prendre afin de vérifier si tous les fichiers sont correctement analysés.

Il nous reste à vérifier sous Sonar les résultats de notre première analyse :

Et la présence de défauts dans ce code :

Pour les deux fichiers que nous avons analysés :

Nous avons pu voir comment paramétrer notre première analyse de code ABAP. Nous pouvons très simplement dupliquer celle-ci sous Jenkins afin d’effectuer d’autres diagnostics, et modifier les paramètres de localisation du code (project.home).

Nous avons pu vérifier également les résultats de cette analyse, au niveau du log Jenkins comme dans le tableau de bord Sonar.

Nous verrons par la suite quelles sont les bonnes pratiques importantes en matière de code ABAP et les violations que vous devez signaler, de manière à présenter ces résultats sous forme d’un audit de la qualité du code et d’un plan d’actions.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *