Inspection de logique : Technique systématique d'examen du code pour identifier les erreurs de raisonnement ou de traitement.
- Lire le code de manière méthodique
- Identifier les structures de contrôle (boucles, conditions)
- Vérifier la logique d'exécution
- Identifier les erreurs potentielles
La condition age > 18 exclut les 18 ans
Les 18 ans devraient être considérés comme majeurs
Changer age > 18 en age >= 18
Condition incorrecte qui exclut les 18 ans de la catégorie "majeur"
• Conditions : Vérifier les bornes incluses/exclues
• Frontières : Tester les valeurs limites
• Logique : S'assurer que la logique correspond au besoin
Revue de lisibilité : Examen collaboratif du code pour améliorer sa clarté et sa compréhension.
Variables x, y, z, r, i, t ne disent rien sur leur utilité
La fonction filtre les éléments > y et les multiplie par z
Utiliser des noms de variables descriptifs
Noms de variables et de fonctions descriptifs qui clarifient le but du code
• Nom descriptif : Utiliser des noms qui décrivent la fonction
• Commentaires : Ajouter des commentaires pour expliquer la logique
• Structure : Organiser le code pour faciliter la lecture
Structure algorithmique : Organisation logique des instructions pour résoudre un problème.
Initialiser max_val à 0 ne fonctionne pas avec des nombres négatifs
Que se passe-t-il avec des listes contenant uniquement des nombres négatifs ?
Initialiser avec le premier élément de la liste
Initialisation correcte et gestion des cas limites pour une structure plus robuste
• Initialisation : Choisir des valeurs initiales appropriées
• Cas limites : Gérer les cas vides et extrêmes
• Itération : Optimiser les boucles pour éviter les répétitions
Style et documentation : Normes de codage et commentaires pour améliorer la maintenabilité.
Indentation irrégulière, absence de docstring, noms de variables courts
Ajouter une docstring décrivant la fonction
Appliquer des conventions de codage cohérentes
Documentation complète, nommage clair, gestion des erreurs et style cohérent
• Docstring : Documenter toutes les fonctions importantes
• Style : Suivre les conventions de codage (PEP 8 pour Python)
• Nom descriptif : Utiliser des noms qui reflètent la fonction
Cohérence de code : Uniformité des styles, conventions et structures dans un ensemble de fonctions.
Noms de fonctions différents, styles d'espacement variés, documentation absente
Définir des règles de nommage, de documentation et de style
Appliquer les conventions à toutes les fonctions
Ensemble de fonctions avec style uniforme, noms cohérents et documentation complète
• Uniformité : Maintenir le même style dans tout le code
• Conventions : Établir et suivre des conventions de nommage
• Documentation : Appliquer la même structure de documentation
- ✓ Syntaxe : Aucune erreur de grammaire ou d'indentation
- ✓ Logique : Conditions et boucles correctement formulées
- ✓ Nom descriptif : Variables et fonctions bien nommées
- ✓ Documentation : Commentaires et docstrings présents
- ✓ Cohérence : Style uniforme dans tout le code
- ✓ Structure : Organisé de manière logique
- La vérification visuelle est complémentaire aux tests automatisés
- Elle permet de détecter des erreurs de logique que les tests pourraient manquer
- Elle améliore la lisibilité et la maintenabilité du code
- Elle favorise le partage de connaissances entre développeurs
- Elle contribue à l'amélioration continue des pratiques de codage