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?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
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