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

Bom dia

function desenhaBarra(x, y, serie, cores, texto) {

        desenhaTexto(x, y - 10, texto);

        var somaAltura = 0;
        for (var i = 0; i < serie.length; i++) {
            var altura = serie[i];
            desenhaRetangulo(x, y + somaAltura, 50, altura, cores[i]);
            somaAltura = somaAltura + altura;
        }
    }

Eu não consegui criar um código, então estava estudando o do professor função por função para entender o " todo ", mas ao me deparar com esse 50 eu não consigo encontrar a função dele ali, alguém pode me explicar por gentileza ?

2 respostas
solução!

Oi Victor! Sua pergunta é perfeita e vou lhe explicar o motivo.

Você teve dificuldade de descobrir o que o valor 50 representa, certo? Isso pode ser um problema em um programa mais complexo.

Para descobrir o que esse valor representa você será obrigado a ir para a função desenhaRetangulo para saber se o programador deu um nome fácil de entender para esse parâmetro.

Olhando a função desenhaRetangulo temos:

function desenhaRetangulo(x, y, largura, altura, cor) {

Veja que o 50 é a largura do retângulo! Mas será que o código poderia ficar mais legível, já que a largura é sempre a mesma?

Sim, veja o novo código:

function desenhaBarra(x, y, serie, cores, texto) {

        desenhaTexto(x, y - 10, texto);
         // nova variável
         var larguraDoRetangulo  = 50;

        var somaAltura = 0;
        for (var i = 0; i < serie.length; i++) {
            var altura = serie[i];
            // usando a nova variável
            desenhaRetangulo(x, y + somaAltura, larguraDoRetangulo, altura, cores[i]);
            somaAltura = somaAltura + altura;
        }
    }

E agora? Fica claro o que é o valor 50? A variável só passou a existir para deixar seu código mais legível. São detalhes como esse que podem tornar o programa mais fácil de ler e de manter. Aliás, é algo que eu irei instigar você até o final do curso.

Sucesso e bom estudo meu aluno!

Muito agradecido professor! Agora sim!!! ^^