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

Solução diferente da proposta

Caros, bom dia.

Tenho uma mania (que talvez não seja tão boa), quando o professor propõe um problema eu pauso o vídeo e tento resolver. Hoje me deparei com uma solução que criei para a mensagem de "errou" que ele disse no vídeo. No caso, a mensagem dele aparecia 5x e ele queria que aparecesse uma só. A minha solução funcionou mas foi diferente da proposta em vídeo.

No caso dele, ele criou uma variável "false" e introduziu-a no código.

<meta charset="UTF-8">

<input/>
<button>Compare com o meu segredo</button>

<script>

    var segredos = [5,7,10,2,3];

    var input = document.querySelector("input");
        input.focus();

    function verifica() {

            var achou = false;

            for(var posicao = 0; posicao < segredos.length; posicao++) {

                if(input.value == segredos[posicao]) {

                    alert("Você ACERTOU!");
                    achou = true;
                    break;
        } 
            }

                                if(achou == false) {

                                    alert("Você ERROU!");
                                }

                                input.value = "";
                input.focus();

    }

    var button = document.querySelector("button");

    button.onclick = verifica;

</script>

Entendo que a solução dele funcionou, mas eu fiz diferente. Ao invés de criar a variável false, eu criei um outro if:

            if (input.value != segredos [posicao]){

                alert("Errooou!")

Nesse caso, já que ambos os casos foram solucionados (de maneira diferente), existe um problema? Digo, devo me preocupar por ter pensado de uma forma diferente da dele?

2 respostas
solução!

Jamais, na programação não existe apenas um caminho, tudo vai depender de como vai ser escrito... minhas dicas são: evite ao máximo flags (uma variável que só existe pra demonstrar algo, que inclusive foi o caso do professor), elas são tentadoras para pequenos exemplos, mas em grande projetos poderão gerar inconsistências, também conhecido como POG Programação Orientada à Gambiarras; tente sempre fazer códigos que sejam autoexplicativos: você produz um código e uma semana depois ainda consegue entender o que está escrito? Seus objetos estão com responsabilidades demais (se sim, crie outros objetos e interfaces) e é isso; sempre leia sobre novas tecnologias, não fique preso a uma, porque tecnologias defasam e morrem. por enquanto é isso, logo seu nível de programação evoluirá muito, boas sorte :)

Ahhh uma última e importantíssima, pois sei que é tentadora: não seja um programador orientado a framework, ou seja, não chegue aprendendo logo a ferramenta, aprenda a linguagem primeiro, aprenda o máximo possível dela... e linguagens defasam, frameworks defasam o triplo mais rápido

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software