Importante

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!

0
respostas

[Sugestão] Funções - Ajuda da IA

Olá pessoal!
Gostaria de compartilhar sugestões da IA mediante ao que aprendi no módulo de funções do curso de JS.

Precisava calcular IMC, fiz uma funçã base:

function calcularIMC (altura, peso) {
return (peso) / (altura) ** 2
}

const resultado = calcularIMC (1.70,80)

console.log("O resultado é:", resultado.toFixed(2))

Segue abaixo as sugestões da IA para aperfeiçoar meu código, o que foi bastante empolgante de testar!!

Sugestoes do chat, conforme meu conhecimento atual

Sim. Para quem está começando, algumas sugestões que eu mencionei são úteis no futuro, mas adicionam uma complexidade que ainda não é necessária.

O que eu deixaria para depois

readline

É um ótimo recurso para criar programas interativos no terminal, mas ele introduz conceitos como módulos, importações e callbacks. Se o objetivo atual é aprender funções, ele pode desviar o foco.


Validações muito completas

Por exemplo:

Number.isNaN()
typeof
throw new Error()

São importantes em aplicações reais, mas você ainda pode aprender bastante apenas utilizando condicionais simples.


Pensar em banco de dados, APIs e HTML

Esses exemplos ajudam a entender o conceito de reutilização, mas não precisam fazer parte do seu código agora. Primeiro consolide funções, parâmetros, retorno e condicionais.


O que eu recomendaria neste momento

Com apenas os conceitos fundamentais de JavaScript, sua função pode ficar assim:

function calcularIMC(altura, peso) {

    if (altura <= 0 || peso <= 0) {
        return "Altura e peso devem ser maiores que zero.";
    }

    return peso / (altura ** 2);
}

const resultado = calcularIMC(1.70, 80);

if (typeof resultado === "number") {
    console.log("O resultado é:", resultado.toFixed(2));
} else {
    console.log(resultado);
}

O que esse código utiliza?

  • ✅ Funções
  • ✅ Parâmetros
  • return
  • if
  • ✅ Operadores (<=, ||)
  • console.log()

Nada além dos conceitos fundamentais.


Se quiser evoluir um pouco

Depois de aprender condicionais, você pode criar outra função para classificar o IMC.

function calcularIMC(altura, peso) {
    return peso / (altura ** 2);
}

function classificarIMC(imc) {
    if (imc < 18.5) {
        return "Abaixo do peso";
    }

    if (imc < 25) {
        return "Peso normal";
    }

    if (imc < 30) {
        return "Sobrepeso";
    }

    return "Obesidade";
}

const imc = calcularIMC(1.70, 80);

console.log("IMC:", imc.toFixed(2));
console.log("Classificação:", classificarIMC(imc));

Esse exemplo continua usando apenas conceitos básicos, mas já demonstra um princípio importante: cada função tem uma única responsabilidade.

  • calcularIMC() → faz apenas o cálculo.
  • classificarIMC() → faz apenas a classificação.
  • console.log() → apenas exibe as informações.

Minha recomendação refinada

No seu estágio atual de aprendizado, eu seguiria esta ordem:

  1. Aprender bem funções (parâmetros e return).
  2. Praticar condicionais (if/else).
  3. Separar o programa em pequenas funções, cada uma com uma responsabilidade.
  4. Só depois estudar validações mais robustas (typeof, Number.isNaN(), tratamento de erros).
  5. Por fim, aprender entrada de dados (readline), HTML, APIs e banco de dados.

Esse caminho mantém o código limpo e profissional, sem introduzir conceitos avançados antes da hora. Para quem está começando, dominar bem esses fundamentos traz muito mais resultado do que tentar aplicar técnicas mais sofisticadas cedo demais.

Usar a IA para aperfeiçõar o que eu fiz me ajudou muito a melhorar minha parte criativa para adicionar coisas pelas quais eu não pensei, foi ótimo ter esse exercício de implementar a IA nos meus estudos!