Contenu du cours
Instructions Conditionnelles en C++
Instructions Conditionnelles en C++
Clause de Garde
À mesure que les applications deviennent de plus en plus complexes, le potentiel de bogues et d'erreurs augmente également. Pour lutter contre cela, les développeurs ont recours à diverses techniques et pratiques pour garantir la qualité du code. L'une de ces techniques qui a gagné en importance ces dernières années est la Technique de Clause de Garde.
Considérons une application qui vérifie si un utilisateur remplit trois conditions : être étudiant, avoir un compte premium et être connecté. Si et seulement si toutes ces conditions sont satisfaites, l'application produira la sortie : Requirements satisfied
. Sinon, connectez dans la console l'étape spécifique où le processus d'initialisation échoue.
Vous pouvez obtenir le résultat souhaité en utilisant des instructions if
imbriquées, mais cette approche peut rendre le code difficile à comprendre et difficile à modifier lorsque vous devez ajouter de nouvelles conditions. Regardez l'extrait de code.
without_guard_clause
#include <iostream> int main() { bool isStudent = true; // Change it to false and see the output bool isPremium = true; bool isConnected = true; if (isStudent) { if (isPremium) { if (isConnected) { std::cout << "Requirements satisfied"; } else std::cout << "You are not connected\n"; } else std::cout << "You don't have premium\n"; } else std::cout << "You are not a student\n"; }
Pour appliquer efficacement la technique de la clause de garde, il est important de se rappeler que nous pouvons terminer l'exécution de la fonction à tout moment en utilisant le mot-clé return
. Dans cette approche, nous inversons nos conditions, ce qui signifie que si un utilisateur n'est pas étudiant, nous affichons immédiatement un message et terminons la fonction main
. Cela est fait pour éviter l'arborescence if
imbriquée et l'exécution inutile de code lorsqu'elle ne sert à rien.
with_guard_clause
#include <iostream> int main() { bool isStudent = true; // Change them to false and see the output bool isPremium = true; bool isConnected = true; if (!isStudent) { std::cout << "You are not a student\n"; return 0; } if (!isPremium) { std::cout << "You don't have premium\n"; return 0; } if (!isConnected) { std::cout << "You are not connected\n"; return 0; } std::cout << "Requirements satisfied"; }
La Technique de Clause de Garde est un outil puissant dans l'arsenal des développeurs de logiciels visant la fiabilité, la flexibilité et la sécurité du code. En l'implémentant, les développeurs peuvent réduire la quantité d'erreurs, améliorer la maintenabilité du code et renforcer la qualité globale du logiciel.
Merci pour vos commentaires !