Olá, Cauê! Como vai?
Parabéns pela resolução da atividade!
Observei que você explorou o uso de funções de callback para personalizar mensagens, utilizou muito bem a verificação de tipos para evitar erros e ainda compreendeu a importância das condicionais para classificar corretamente o desempenho do jogador.
Uma dica interessante para o futuro é deixar o código mais enxuto usando operador ternário e eliminando repetições. Assim:
function gerarMensagem(desempenho) {
const mensagens = {
aprovado: 'Parabéns! Você foi aprovado.',
reforço: 'Atenção! Você precisa de reforço.',
reprovado: 'Pontuação insuficiente! Você foi reprovado.'
};
return mensagens[desempenho] || 'Status inválido.';
}
function avaliarDesempenho(pontos, fnCallback) {
if (typeof pontos !== 'number' || pontos < 0) return 'Pontuação inválida.';
console.log(`Pontuação: ${pontos}`);
const desempenho = pontos >= 70 ? 'aprovado' : pontos >= 50 ? 'reforço' : 'reprovado';
return fnCallback(desempenho);
}
console.log(avaliarDesempenho(82, gerarMensagem));
Isso faz com que a lógica fique mais clara, reduzindo o número de if else e tornando o código mais fácil de manter.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!