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

Escrevi diferente da resolução

Bom eu fiz o exercício 12 da aula 4 de uma forma diferente da resolução, o resultado deu o mesmo, mas eu queria saber se eu escrevi um bom código, um bom código eu digo, um código bem escrito, curto e que de para outros desenvolvedores entenderem. Segue abaixo:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br/>");
    }

    function exibeTitulo(titulo) {

        document.write(titulo);
        pulaLinha();

    }

    function calculaDiferenca(idade1, idade2) {

        document.write(idade1 - idade2 + " anos!");

    }

    exibeTitulo("Nossa diferença de idade é ");

    calculaDiferenca(27, 18);

</script>

Vou por o código do exercício para vocês notarem a diferença:

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
    }

    var minhaIdade = 18;
    var idadeIrmao = 15;

    mostra("Nossa diferença de idade é " + (minhaIdade - idadeIrmao));
    pulaLinha();
</script>

Eu fiquei na dúvida, por que o meu código eu escrevi 3 funções e no código da resolução foram escritos 2, o da resolução visualmente ficou menor, mas queria saber se o meu ainda sim está dentro da "Convenção dos programadores".

3 respostas
solução!

Bom dia !

Creio que isso seja muito ligado a interpretação , no meu posto de vista eu avaliaria da seguinte forma : Colocaria na balança os fatores reutilização de código e coerência , neste caso eu partiria do seguinte raciocínio :

A função pular linha é uma função que pode ser reutilizada em seu código pois realiza uma operação muito comum e necessária.

Já no caso da função calculaDiferenca , esta para fazer uma boa coerência e também observando que o objetivo final dela é enviar uma mensagem para o usuário, não vejo o motivo de concluir a formatação do texto em outra função , ou seja , a função calculaDiferenca apenas estará completa quando utilizada a função exibeTitulo, pois a saída "9 anos!" que é um exemplo de saída da função calculaDiferenca não é algo específico e ficaria muito vago para o usuário.

Também é muito interessante separar a regra de negócio (os cálculos, condições e etc. ) em uma função como a calculaDiferenca, porém esta poderia dar um resultado mais completo ou simplesmente retornar o valor e realizar a concatenação do texto no momento da chamada da função.

Resumindo , além de ser algo que depende muito de interpretação , é bem eficiente projetar funções que podem servir para mais situações ou caso estas sejam para um uso muito específico que retornem um resultado mais completo sem a necessidade de outra função para que a mesma possa atingir seu objetivo.

Lembro que este é um ponto de vista e algo que tenho utilizado frequentemente.

Bons estudos!

Bom dia Lucas, acho que entendi bem o seu ponto de vista, você acha mais interessante e produtivo criar apenas funções reutilizáveis? Ou seja funções genéricas que podem servir parabéns outras partes do código, no meu caso eu fiz uma específica apenas para realização dessa conta e não teria com reutilizá-lá de novo, apenas se a operação a ser feita fosse semelhante. Essa pergunta eu fiz antes de avançar no curso e o professor explicou essa parte de funções genéricas, criando assim funções que possam ser reutilizadas, isso segue um pouco o princípio do CSS né?

Mas para inicio esta indo bem, mais em frente você vai aprender vai enxergar esses detalhes importantes que o Lucas citou!!

Bons Estudos!!!