Segue minha resolução do desafio 3.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Segue minha resolução do desafio 3.
Olá, Edi!
Vamos analisar o seu código. Ele parece estar funcionando bem para o que se propõe: realizar contagens progressivas e regressivas com base em entradas do usuário. Aqui estão alguns pontos que podem ajudar a melhorar ou simplificar o código:
Validação de Entrada: Você já está validando se o número está entre 1 e 20, o que é ótimo. Certifique-se de que o usuário realmente digite um número, pois o prompt retorna uma string. Você pode usar parseInt para converter a entrada.
Reutilização de Código: As partes de validação e contagem são repetidas. Você pode criar funções para essas tarefas, tornando o código mais limpo e fácil de manter. Por exemplo:
function getValidNumber() {
let numero;
do {
numero = parseInt(prompt("Digite um número de 1 a 20:"));
} while (numero < 1 || numero > 20 || isNaN(numero));
return numero;
}
function contagemRegressiva(numero) {
while (numero > 0) {
alert(`Contagem Regressiva ${numero}`);
console.log(numero);
numero--;
}
}
function contagemProgressiva(numero) {
let contador = 0;
while (contador < numero) {
contador++;
alert(`Contagem Progressiva ${contador}`);
console.log(contador);
}
}
Uso do console.log: É uma boa prática para depuração, mas lembre-se de que em um ambiente de produção, você pode querer remover ou comentar esses logs.
Comentários: Adicionar comentários explicando o que cada parte do código faz pode ajudar você e outros a entenderem melhor o fluxo do programa.
Espero ter ajudado e bons estudos!
Muito uteis os apontamentos e sugestões de melhorias. Obrigado.