Garantir la Qualité du Code : Assertions et Exceptions
Cet article explique comment assurer la qualité du code en utilisant les assertions et les exceptions, avec une attention particulière à la programmation par contrat.
Présentation
Introduction au langage C++
Les fonctions en C++
Les classes
Surcharge des opérateurs
Qualité du code
La bibliothèque standard du C++
L'allocation dynamique
Associations entre classes
Héritage
Détails de la leçon
Description de la leçon
Dans ce cours, nous abordons la qualité du code en mettant l'accent sur les techniques de programmation par contrat. Nous détaillons comment utiliser les assertions et les exceptions pour garantir que le code est bien écrit et respecte les conditions spécifiées. Les assertions vous permettent de vérifier les préconditions et postconditions des fonctions, en posant des hypothèses de fonctionnement qui doivent être respectées par les paramètres d’entrée et les valeurs de retour.
Par exemple, lors de la réalisation d'une division, nous imposons qu'un diviseur ne soit jamais nul. Cette règle est définie comme une assertion. Si elle est violée en mode debug, cela permet de détecter exactement où l'erreur s'est produite, facilitant ainsi le débogage. En mode release, ces assertions disparaissent, éliminant les tests devenus inutiles pour un code déployé en production.
Nous illustrons également l'utilisation des assertions avec d'autres exemples, comme le calcul d'une racine carrée qui nécessite un nombre positif en entrée. Les tests d’assertion sont utilisés tant en entrée qu'en sortie pour garantir que les conditions de validité sont toujours respectées.
Objectifs de cette leçon
Les objectifs de cette vidéo sont :
- Apprendre à utiliser les assertions pour vérifier les préconditions et postconditions des fonctions.
- Comprendre la programmation par contrat et son utilité dans le développement logiciel.
- Connaître les différences entre les modes debug et release en C++.
- Découvrir comment les exceptions peuvent être employées pour gérer les erreurs de manière efficace.
Prérequis pour cette leçon
Pour suivre cette vidéo, il est recommandé d'avoir des connaissances en programmation C/C++ et une compréhension de base des concepts de gestion des erreurs et des structures conditionnelles.
Métiers concernés
Ce sujet est particulièrement pertinent pour les métiers suivants :
- Développeur Logiciel
- Ingénieur en Qualité Logicielle
- Architecte Logiciel
Alternatives et ressources
En plus des assertions, les développeurs peuvent utiliser des outils de tests unitaires comme Google Test ou des bibliothèques de vérification de contrat comme Boost.Contract.
Questions & Réponses
cassert qui permet de vérifier certaines conditions durant l'exécution du code. Si la condition est fausse, elle génère une alerte en mode debug et aide au débogage.