Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Vaktsetning | Avanserte Emner
C++ Betingede Setninger

bookVaktsetning

Etter hvert som applikasjoner blir mer komplekse, øker også potensialet for feil og bugs. For å motvirke dette har utviklere tatt i bruk ulike teknikker og praksiser for å sikre kodekvalitet. En slik teknikk som har fått økt oppmerksomhet de siste årene, er Clause Guard-teknikken.

Tenk deg en applikasjon som skal verifisere om en bruker oppfyller tre betingelser: er student, har premiumkonto og er tilkoblet. Kun dersom alle disse betingelsene er oppfylt, vil applikasjonen vise utdata: Requirements satisfied. Ellers skal det logges i konsollen hvilket spesifikt steg i initialiseringsprosessen som feiler.

Du kan oppnå ønsket resultat ved å bruke nestede if-setninger, men denne tilnærmingen kan gjøre koden vanskelig å forstå og vanskelig å endre dersom du må legge til nye betingelser. Se på kodeeksempelet.

without_guard_clause.cpp

without_guard_clause.cpp

copy
123456789101112131415161718192021
#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"; }

For å bruke guard clause-teknikken effektivt, er det viktig å huske at vi kan avslutte funksjonsutførelsen når som helst ved å bruke return-nøkkelordet. I denne tilnærmingen snur vi betingelsene våre, slik at hvis en bruker ikke er student, vises en melding umiddelbart og main-funksjonen avsluttes. Dette gjøres for å unngå nestede if-trær og unødvendig kjøring av kode når det ikke har noen hensikt.

with_guard_clause.cpp

with_guard_clause.cpp

copy
12345678910111213141516171819202122232425
#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"; }

Guard Clause-teknikken er et kraftig verktøy i programvareutviklerens arsenal for å oppnå pålitelighet, fleksibilitet og sikkerhet i koden. Ved å implementere denne teknikken kan utviklere redusere antall feil, forbedre kodevedlikeholdbarhet og øke den generelle programvarekvaliteten.

question mark

Hva er hovedmålet med Guard Clause-teknikken?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 7.69

bookVaktsetning

Sveip for å vise menyen

Etter hvert som applikasjoner blir mer komplekse, øker også potensialet for feil og bugs. For å motvirke dette har utviklere tatt i bruk ulike teknikker og praksiser for å sikre kodekvalitet. En slik teknikk som har fått økt oppmerksomhet de siste årene, er Clause Guard-teknikken.

Tenk deg en applikasjon som skal verifisere om en bruker oppfyller tre betingelser: er student, har premiumkonto og er tilkoblet. Kun dersom alle disse betingelsene er oppfylt, vil applikasjonen vise utdata: Requirements satisfied. Ellers skal det logges i konsollen hvilket spesifikt steg i initialiseringsprosessen som feiler.

Du kan oppnå ønsket resultat ved å bruke nestede if-setninger, men denne tilnærmingen kan gjøre koden vanskelig å forstå og vanskelig å endre dersom du må legge til nye betingelser. Se på kodeeksempelet.

without_guard_clause.cpp

without_guard_clause.cpp

copy
123456789101112131415161718192021
#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"; }

For å bruke guard clause-teknikken effektivt, er det viktig å huske at vi kan avslutte funksjonsutførelsen når som helst ved å bruke return-nøkkelordet. I denne tilnærmingen snur vi betingelsene våre, slik at hvis en bruker ikke er student, vises en melding umiddelbart og main-funksjonen avsluttes. Dette gjøres for å unngå nestede if-trær og unødvendig kjøring av kode når det ikke har noen hensikt.

with_guard_clause.cpp

with_guard_clause.cpp

copy
12345678910111213141516171819202122232425
#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"; }

Guard Clause-teknikken er et kraftig verktøy i programvareutviklerens arsenal for å oppnå pålitelighet, fleksibilitet og sikkerhet i koden. Ved å implementere denne teknikken kan utviklere redusere antall feil, forbedre kodevedlikeholdbarhet og øke den generelle programvarekvaliteten.

question mark

Hva er hovedmålet med Guard Clause-teknikken?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2
some-alt