Exercício realizado e anotações no help.md
https://github.com/guimarmitt/Academy/tree/main/Alura-Desafios/JavaSpring-contador
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!
Exercício realizado e anotações no help.md
https://github.com/guimarmitt/Academy/tree/main/Alura-Desafios/JavaSpring-contador
Fala, Guilherme! Tudo bom?
Agradeço por trazer sua solução para o fórum!
Curti demais como trabalhou a classe genérica Avaliacao para permitir avaliações de diferentes tipos de itens em Java, entendeu perfeitamente a importância da validação de notas para manter consistência nos dados e usou bem o método calcularMediaNotas para oferecer uma forma prática de obter estatísticas. Esse cuidado deixa o código flexível, seguro e pronto para ser reutilizado em diversos cenários.
Algo bem legal para complementar é usar Streams para calcular a média de forma mais concisa. Dessa maneira:
public static <T> double calcularMediaNotas(List<Avaliacao<T>> avaliacoes) {
if (avaliacoes.isEmpty()) {
throw new IllegalArgumentException("A lista de avaliações está vazia.");
}
return avaliacoes.stream()
.mapToDouble(Avaliacao::getNota)
.average()
.orElseThrow(() -> new IllegalArgumentException("Não foi possível calcular a média."));
}
Isso faz com que o código fique mais expressivo e aproveite os recursos modernos da linguagem.
E algumas boas práticas que você pode adotar são:
Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.
Ah, uma pergunta: você prefere evoluir essa classe para incluir também estatísticas como maior e menor nota ou manter apenas a média?
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!