Introduction aux Concepts de Programmation par Contrat
Objectifs
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.
Résumé
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.
Description
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.
Questions fréquentes
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.