1
resposta

[Dúvida] Uso do break e boas práticas de programação

Olá! Ao executar o código ensinado na aula, notei que obtemos o mesmo resultado mesmo sem o uso do break. Mesmo colocando o if que é responsável por corrigir a sintaxe, fora do primeiro if, da seguinte forma:

alert('Boas vindas ao jogo do número secreto!');
let numeroSecreto = 5;
console.log(numeroSecreto);
let chute;
let tentativas = 1;

while (chute != numeroSecreto) {
   chute = prompt('Escolha um número entre 1 e 10');
   if (chute == numeroSecreto) {
   
   } else {
      if (chute > numeroSecreto) {
         alert(`O número secreto é menor que ${chute}`);
      } else {
         alert(`O número secreto é maior que ${chute}`);
      }
      tentativas++;
   }
}
if (tentativas > 1){
   alert(`Isso aí! Você descobriu o número secreto (${numeroSecreto}) com ${tentativas} tentativas!`);
} else{
   alert(`Isso aí! Você descobriu o número secreto (${numeroSecreto}) com ${tentativas} tentativa!`);

}

Ao notar issdo, me veio alguma dúvidas.

  1. O uso do break aqui realmente não seria necessário, assim como aparenta?
  2. O uso dele, mesmo que visualmente não altere nada no funcionamento do código, se configura como uma boa prática de programação?
  3. Acredito que num código pequeno como esse talvez não faça tanta diferença, mas em códigos extensos, o uso do break pode trazer melhorias de performance? Visto que ele não gastaria tempo lendo as outras condições do loop?
1 resposta

Oi Sarah, tudo bem? 😊

Excelente observação sobre o uso do break! 🤔

No seu código, o break realmente não é necessário, pois a condição do while já garante a saída do loop quando o número é acertado.

O break é útil quando você precisa sair de um loop antes que a condição principal seja atingida, como em casos de encontrar um elemento específico em uma lista.

Em relação à performance, em códigos pequenos como esse, a diferença é mínima.

Em loops muito grandes, o break pode sim trazer uma pequena melhoria de performance, pois evita que o programa continue verificando condições desnecessárias.

No seu caso, como a condição de parada do while é a mesma que você usaria no if para o break, não há ganho em utilizá-lo.

Uma pequena sugestão, você pode simplificar a lógica de comparação e a mensagem final, veja:

alert('Boas vindas ao jogo do número secreto!');
let numeroSecreto = 5;
console.log(numeroSecreto);
let chute;
let tentativas = 0;

while (chute != numeroSecreto) {
  tentativas++;
  chute = prompt('Escolha um número entre 1 e 10');
  if (chute != numeroSecreto) 
    alert(`O número secreto é ${(numeroSecreto > chute)? 'maior':'menor'} que ${chute}`);
}
alert(`Isso aí! Você descobriu o número secreto (${numeroSecreto}).
Acertou com ${(tentativas == 1)? '1 tentativa!' : tentativas + ' tentativas!'} `);

🎓 Para saber mais:

Continue explorando e experimentando, a prática leva à perfeição! 💪

tux matrixCaso este post o tenha ajudado,marque-o como solucionado ☑️.Bons Estudos! 🤓