Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A minha solução poluída. De 0 a 10 o quão feio é fazer isso que eu fiz?

Abaixo está a minha função "atualizaTela;", o código funciona bem, mas eu gostaria de saber se é muito "feio" fazer da forma que eu fiz.


var x = 20;
 var sense = true;

function atualizaTela() {
 limpaTela();
        desenhaCirculo(x, 20, 10);
        if (sense) {
           x++;
           if (x > 600) {
            sense = false;
        }
        }else{
            x--;
             if (x < 0) {
             sense = true;
                        }
             }

Resto do código:

<canvas width="600" height="400"></canvas>

<script>

    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'lightgray';
    pincel.fillRect(0, 0, 600, 400);

    function desenhaCirculo(x, y, raio) {

        pincel.fillStyle = 'blue';
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * Math.PI);
        pincel.fill();
    }

    function limpaTela() {

        pincel.clearRect(0, 0, 600, 400);
    }

    var x = 20;
    var sense = true;
    function atualizaTela() {

        limpaTela();
        desenhaCirculo(x, 20, 10);
        if (sense) {
           x++;
           if (x > 600) {
            sense = false;
        }
        }else{
            x--;
             if (x < 0) {
             sense = true;
                        }
             }

         }

    setInterval(atualizaTela, 10);

</script>
1 resposta
solução!

Olá João, tudo bem com você?

Acredito que no momento não precisamos nos preocupar com código "feio" ou "poluído", com o passar do tempo e de prática vamos lapidando nossa lógica e criando códigos mais limpos naturalmente!

Em relação a sua dúvida, a única coisa que pode incomodar é que ao ler o código podemos ficar um pouco perdidos, por ter vários if'sum dentro do outro, as vezes precisamos parar e pensar um pouco mais como chegamos até aquela parte do código (talvez não você, mas alguém que pegue seu código)

Acredito só ficou um pouco mais verboso porque você optou pelo sentido ser um valor do tipo booleano, o que é bem interessante e será muito útil em vários programas futuros, mas nesse caso não podemos reaproveitar essa variável para utilizar no valor do x

Mas procurar alternativas de resolver um mesmo problema é sempre uma tarefa que nos ajuda a melhorar como programadores :)

Abraços e Bons Estudos!