Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Sugestão de melhoria

Essa foi minha sugestão de melhoria para o código:

Retirei o if aninhado e testei cada uma das três possibilidades utilizando else if.

let porcentagemDesconto = 0;
const quantidadeMilhas = 5200;

console.log(`Você possui ${quantidadeMilhas} milhas.`);

// Pessoas com uma quantidade de milhas inferior a 5.000 não recebem desconto
if (quantidadeMilhas < 5000) {
    console.log(`Seu desconto é de: ${porcentagemDesconto}%`);
} else if (quantidadeMilhas >= 30000) {
    // Pessoas com uma quantidade de milhas igual ou superior a 30.000 recebem 20% de desconto
    porcentagemDesconto = porcentagemDesconto + 20;
    console.log(`Seu desconto é de: ${porcentagemDesconto}%`);
} else if (quantidadeMilhas > 5000) {
    // Pessoas com uma quantidade de milhas superior a 5.000, mas inferior a 30.000, recebem 10% de desconto
    porcentagemDesconto = porcentagemDesconto + 10;
    console.log(`Seu desconto é de: ${porcentagemDesconto}%`);
} 
1 resposta
solução!

Oi Camila, tudo bem? 😊

Sua sugestão de refatoração do código é muito pertinente! 👍

A utilização de else if para tratar as diferentes faixas de milhas deixa o código mais limpo e fácil de entender.

No entanto, observe que a condição quantidadeMilhas > 5000 no último else if sempre será verdadeira se as condições anteriores forem falsas.

Uma pequena correção pode otimizar ainda mais o código:

let porcentagemDesconto = 0;
const quantidadeMilhas = 5200;

console.log(`Você possui ${quantidadeMilhas} milhas.`);

if (quantidadeMilhas < 5000) {
    console.log(`Seu desconto é de: ${porcentagemDesconto}%`);
} else if (quantidadeMilhas >= 30000) {
    porcentagemDesconto = 20;
    console.log(`Seu desconto é de: ${porcentagemDesconto}%`);
} else {
    porcentagemDesconto = 10;
    console.log(`Seu desconto é de: ${porcentagemDesconto}%`);
}

Nessa versão, o último else cobre todos os casos em que quantidadeMilhas é maior ou igual a 5000 e menor que 30000, eliminando a necessidade de uma condição extra. 💪

🎓 Para saber mais: