Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Cláusula de Guarda | Tópicos Avançados
Instruções Condicionais em C++

bookCláusula de Guarda

À medida que as aplicações se tornam cada vez mais complexas, o potencial para bugs e erros também aumenta. Para combater isso, desenvolvedores adotaram diversas técnicas e práticas para garantir a qualidade do código. Uma dessas técnicas que ganhou destaque nos últimos anos é a Técnica de Guard Clause.

Considere uma aplicação que verifica se um usuário atende a três condições: ser estudante, possuir uma conta premium e estar conectado. Somente se todas essas condições forem satisfeitas, a aplicação exibirá a saída: Requirements satisfied. Caso contrário, registre no console a etapa específica em que o processo de inicialização falha.

É possível alcançar o resultado desejado utilizando instruções if aninhadas, mas essa abordagem pode tornar o código difícil de entender e complicado de modificar ao adicionar novas condições. Observe o trecho de código.

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"; }

Para aplicar a técnica de guard clause de forma eficaz, é importante lembrar que podemos encerrar a execução da função a qualquer momento utilizando a palavra-chave return. Nesta abordagem, invertemos nossas condições, ou seja, se um usuário não é estudante, exibimos imediatamente uma mensagem e encerramos a função main. Isso é feito para evitar árvores de if aninhadas e a execução desnecessária de código quando não há propósito.

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"; }

A Técnica de Clause Guard é uma ferramenta poderosa no arsenal dos desenvolvedores de software que buscam confiabilidade, flexibilidade e segurança no código. Ao implementá-la, os desenvolvedores podem reduzir a quantidade de erros, melhorar a manutenibilidade do código e aumentar a qualidade do software como um todo.

question mark

Qual é o principal objetivo da Técnica de Clause Guard?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 7.69

bookCláusula de Guarda

Deslize para mostrar o menu

À medida que as aplicações se tornam cada vez mais complexas, o potencial para bugs e erros também aumenta. Para combater isso, desenvolvedores adotaram diversas técnicas e práticas para garantir a qualidade do código. Uma dessas técnicas que ganhou destaque nos últimos anos é a Técnica de Guard Clause.

Considere uma aplicação que verifica se um usuário atende a três condições: ser estudante, possuir uma conta premium e estar conectado. Somente se todas essas condições forem satisfeitas, a aplicação exibirá a saída: Requirements satisfied. Caso contrário, registre no console a etapa específica em que o processo de inicialização falha.

É possível alcançar o resultado desejado utilizando instruções if aninhadas, mas essa abordagem pode tornar o código difícil de entender e complicado de modificar ao adicionar novas condições. Observe o trecho de código.

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"; }

Para aplicar a técnica de guard clause de forma eficaz, é importante lembrar que podemos encerrar a execução da função a qualquer momento utilizando a palavra-chave return. Nesta abordagem, invertemos nossas condições, ou seja, se um usuário não é estudante, exibimos imediatamente uma mensagem e encerramos a função main. Isso é feito para evitar árvores de if aninhadas e a execução desnecessária de código quando não há propósito.

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"; }

A Técnica de Clause Guard é uma ferramenta poderosa no arsenal dos desenvolvedores de software que buscam confiabilidade, flexibilidade e segurança no código. Ao implementá-la, os desenvolvedores podem reduzir a quantidade de erros, melhorar a manutenibilidade do código e aumentar a qualidade do software como um todo.

question mark

Qual é o principal objetivo da Técnica de Clause Guard?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2
some-alt