Inspection du code pour PB, Oracle et SQL Server

Qu'est-ce que l'inspection du Code ?

L'inspection du code consiste à revoir et à améliorer le code avant de le tester.

Les tests et l'inspection visent tous deux à améliorer le code, mais ils reposent sur deux concepts distincts :

  1. Le test est dynamique et exécute le logiciel pour vérifier ses fonctionnalités.
    (Voir aussi : Tests automatisés avec AscentialTest)
  2. L'inspection du code analyse le code source sur la base d'un ensemble de règles.

Inspection manuelle, automatisée ou continue ?

Différentes stratégies sont possibles pour l'inspection du code :

Stratégie Description Avantages et inconvénients
Revue de code manuelle Les membres de l'équipe passent en revue le code de chacun pour trouver et corriger les éventuels problèmes. Better code
Human costs > limited frequency
Programmation en binôme 2 programmeurs à 1 poste : l'un écrit le code, l'autre le révise. Un meilleur code et un meilleur transfert de connaissances.
La productivité peut être problématique.
Inspection automatisée Revue effectuée par une machine. Aucune limitation de fréquence.
Nécessite des outils d'analyse de code
Inspection continue du code Revue automatique incluse dans un flux d'intégration continue. Voir ci-dessous

Pourquoi mettre en œuvre l'inspection continue du code ?

L'inspection continue du code est destinée à effectuer une revue complète du code chaque fois qu'une version est générée.
Elle permet de réduire le temps entre la création d'une version et la découverte des problèmes de qualité et/ou de sécurité.

Vous trouverez ci-dessous quelques exemples d'objectifs de l'inspection continue :

  • Détecter et éliminer les vulnérabilités de sécurité
  • Respecter les normes de "grammaire" du code
  • Respecter les normes de lisibilité du code
  • Adhésion aux couches architecturales
  • Supprimer les doublons de code
  • Améliorer les performances
  • Et plus encore...

Inspection du code et intégration continue

Feuille de route

Visual Expert va progressivement consolider ses fonctionnalités pour supporter tous les aspects de l'inspection continue du code :

  1. Pour commencer, VE détecte les problèmes de sécurité et de maintenabilité, ainsi que les bugs.
    La détection des erreurs de syntaxe et les métriques de code seront incluses dans un deuxième temps.
  2. Dans un premier temps, l'inspection du code est effectuée via l'interface utilisateur de Visual Expert. VE générera ensuite des rapports HTML.
  3. Enfin, VE fournira un plugin Jenkins pour inclure les inspections de code continues dans un workflow d'intégration continue.

Feuille de route pour l'inspection de code par Visual Expert

 

Quels sont les types de problèmes détectés ?

Visual Expert implémente un grand nombre de règles, pour vérifier votre code sous différents angles et améliorer sa sécurité, sa stabilité et sa maintenabilité.

  • Plus de 300 règles sont actuellement disponibles. Vous pouvez consulter la liste ici.
  • Il manque quelque chose ? Dites-le nous. Les suggestions sont toujours les bienvenues !
  • Visual Expert 2020.8 détecte les vulnérabilités de sécurité, les bugs et les problèmes de maintenance.

Inspection de code pour les projets PB, Oracle et SQL Server

Les versions suivantes supporteront les erreurs de syntaxe et les métriques :

Bug Défaut ou erreur - autre que les erreurs de syntaxe - qui peut casser l'application à tout moment. La correction est hautement prioritaire.
Maintenabilité Ce problème lié à la qualité n'est pas un bug. Il n'est pas techniquement incorrect et n'empêche pas l'application de fonctionner. Cependant, il augmente le coût des modifications et la probabilité d'introduire de nouveaux bugs.
Vulnérabilité Un défaut ou une faiblesse du code qui peut entraîner une faille de sécurité.
Alerte de sécurité Un morceau de code qui pourrait créer une faille de sécurité, mais qui doit être examiné manuellement pour le déterminer.
Métrique Mesures objectives de certaines propriétés ou entités du code. Traditionnellement utilisée pour l'estimation des coûts, l'assurance qualité, le débogage, l'optimisation des performances et l'attribution des tâches.
Erreur de syntaxe Erreur grammaticale dans la syntaxe d'une phrase qui peut empêcher le code de se compiler ou de s'exécuter. Sa correction est hautement prioritaire.

Gravité du problème

Tous les problèmes ne sont pas critiques.

Pour aider à hiérarchiser les améliorations, chaque problème est assorti d'un niveau de gravité :

Critique Bug qui va probablement altérer le bon fonctionnement de l'application et qui doit être corrigé le plus rapidement possible.
Majeure Vulnérabilité de sécurité ou bogue qui pourrait éventuellement altérer le bon fonctionnement de l'application. À corriger le plus rapidement possible
Mineure Défaut de qualité qui peut affecter significativement la productivité du développeur.
Faible Défaut de qualité qui peut légèrement affecter la productivité du développeur.
Information Métriques ou informations sur le code.

Comment la sévérité d'un problème est-elle définie ?

La gravité d'un problème dépend de son impact et de sa probabilité.

Un impact élevé/faible est évalué selon les critères suivants :

  • Pour les bugs : ce problème peut-il interrompre le fonctionnement de l'application ou corrompre les données stockées ?
  • Pour les vulnérabilités : si cette brèche était exploitée, causerait-elle des dommages importants ?
  • Pour les problèmes de maintenabilité : ce problème pourrait-il amener un développeur à introduire un bug ?
Critique Majeure Mineure Faible
Impact Elevé Elevé Faible Faible
Probabilité Elevé Faible Elevé Faible

 

Quels langages de programmation peuvent être inspectés ?

Visual Expert supporte actuellement l'inspection du code pour PowerBuilder, Oracle, et SQL Server.

Langages inspectés par Visual Expert

Comment inspecter votre code ?

Sélectionnez le langage que vous souhaitez inspecter :

 

PowerBuilder, Oracle, SQL Server, Code Inspection