Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Uso de brackets

Olá, essa pergunta não se trata do conteúdo da aula mas uma dúvida recorrente ao longo do curso, se alguém puder me responder agradeço.

Exemplo:

if(condição)
{
    //Faça alguma coisa
}
if(condição)
    //Faça alguma coisa

No primeiro exemplo usei as chaves e no segundo exemplo deixei de fora já que existe apenas uma linha que responde a condição imposta.

Trabalhei em uma empresa onde o arquiteto "Proibia" o segundo exemplo, tinha que colocar as chaves independente do que.

Aí vem a dúvida, qual seria a diferença desses dois jeitos por baixo dos panos... Nunca cheguei a questionar o porque, mas ele falava que "Não queria deixar nada na responsabilidade do compilador", mas ainda assim não entendo... pode dar algum problema? Existe alguma perda?

Se alguém puder esclarecer agradeço.

2 respostas

Boa noite!

No segundo exemplo tem que colocar as chaves pra funcionar.

Se colocar as chaves dá na mesma pro runtime como pode ser verificado em

https://sharplab.io/#v2:CYLg1APgAgDABFAjAbgLACgNQMwIExwDCcA3hnBQrlACxwCyAFAJSnmUfscUAiA9gFcARgBsApnAEBbALwou3fsPFxgfAJYBnGXjTpulBR3UAzOI2kyZarczL6DFAJBHHSeABcxmrzIBEXj5ifnqOcAC+rhRRcDGm5pbWGpqsJO5wgb4B3l4hkQ4GCvnhQA=

Espero ter ajudado!!!

solução!

Fala amigo Marco, tudo certo?

Sobre sua dúvida, os dois códigos são exatamente iguais. A única diferença é que no segundo exemplo (sem as chaves) é o compilador que irá colocar as {} na próxima linha. Talvez o arquiteto proibisse porque colocando explicitamente os {} as chances de cometer um erro onde mais de uma linha deveriam ou não fazer parte do if pudessem ocorrer.

Abraço e bons estudos! =D