Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não entendi a necessidade dos boleanos pesoEhValido && alturaEhValida

Olá! Não entendi direito a necessidade de bolenos que validassem a impressão do imc. Fiz de outra forma e gostaria de saber se é importante ter os bolenos pesoEhValido e alturaEhValida para se ter um código mais bonito, organizado ou lógico. Segue abaixo minha solução:

var paciente = document.querySelectorAll(".paciente");

    var tdNome = paciente.querySelector(".info-nome");
    var tdPeso = paciente.querySelector(".info-peso");
    var tdAltura = paciente.querySelector (".info-altura");
    var tdImc = paciente.querySelector(".info-imc");

    var nome = tdNome.textContent;
    var peso = tdPeso.textContent;
    var altura = tdAltura.textContent;
    var imc = peso/(altura*altura);

    tdImc.textContent = imc;


    if (peso >= 500 || peso <= 0 || isNaN(peso)){
        tdImc.textContent = "peso inválido";
        paciente.style.backgroundColor = "orange";
    }


    if (altura >= 3.00 || altura <= 0 || isNaN(altura)){
        tdImc.textContent = "altura inválida";
        paciente.style.backgroundColor = "orange";
    }
3 respostas
solução!

Fala ai Maria, tudo bem? Vamos lá:

Fiz de outra forma e gostaria de saber se é importante ter os bolenos pesoEhValido e alturaEhValida para se ter um código mais bonito, organizado ou lógico. Segue abaixo minha solução:

Na verdade ter o pesoEhValido e alturaEhValida está mais relacionado à legibilidade, é muito mais simples você bater o olho nesses if's:

if (pesoEhValido)
if (alturaEhValida)

Do que nesses:

if (peso >= 500 || peso <= 0 || isNaN(peso))
if (altura >= 3.00 || altura <= 0 || isNaN(altura))

No primeiro exemplo eu bato o olho e já sei a condição, o próprio nome da variável é auto descritivo, não preciso entender nenhuma regra ou coisas do tipo.

No segundo, é necessário que eu vá interpretando cada condição até chegar na conclusão do que está sendo verificado no if.

Normalmente eu prefiro a primeira abordagem, gosto de extrair condições para variáveis e funções, isso deixa o código mais auto descritivo.

Mas, não existe certo/errado, é mais questões de gosto, recomendações e boas práticas.

Espero ter ajudado.

Ajudou sim, Matheus, obrigada!

Magina Maria, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.