Kursinhalt
C++ Bedingte Anweisungen
C++ Bedingte Anweisungen
Wächterklausel
Da Anwendungen immer komplexer werden, steigt auch das Potenzial für Fehler und Bugs. Um dem entgegenzuwirken, haben Entwickler verschiedene Techniken und Praktiken entwickelt, um die Codequalität sicherzustellen. Eine solche Technik, die in den letzten Jahren an Bedeutung gewonnen hat, ist die Guard Clause Technik.
Betrachten Sie eine Anwendung, die überprüft, ob ein Benutzer drei Bedingungen erfüllt: Student zu sein, ein Premium-Konto zu haben und verbunden zu sein. Nur wenn alle diese Bedingungen erfüllt sind, gibt die Anwendung die Ausgabe: Requirements satisfied
. Andernfalls wird im Konsolenprotokoll der spezifische Schritt protokolliert, bei dem der Initialisierungsprozess fehlschlägt.
Sie können das gewünschte Ergebnis mit verschachtelten if
-Anweisungen erreichen, aber dieser Ansatz kann den Code schwer verständlich und schwer zu ändern machen, wenn Sie neue Bedingungen hinzufügen müssen. Schauen Sie sich den Code-Schnipsel an.
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"; }
Um die Guard Clause Technik effektiv anzuwenden, ist es wichtig, sich daran zu erinnern, dass wir die Ausführung einer Funktion jederzeit beenden können, indem wir das return
-Schlüsselwort verwenden. Bei diesem Ansatz kehren wir unsere Bedingungen um, was bedeutet, dass wenn ein Benutzer kein Student ist, wir sofort eine Nachricht anzeigen und die main
-Funktion beenden. Dies geschieht, um verschachtelte if
-Bäume und unnötige Codeausführungen zu vermeiden, wenn sie keinen Zweck erfüllen.
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"; }
Die Guard-Clause-Technik ist ein leistungsstarkes Werkzeug im Arsenal von Softwareentwicklern, die nach Zuverlässigkeit, Flexibilität und Sicherheit im Code streben. Durch ihre Implementierung können Entwickler die Anzahl der Fehler reduzieren, die Wartbarkeit des Codes verbessern und die allgemeine Softwarequalität steigern.
Danke für Ihr Feedback!