1
resposta

Convenção (function antes de var)

Em um código para um exercício, optei por "quebrar" a convenção e apresentar algumas variáveis no começo do código, antes mesmo das functions.

Meu objetivo foi facilitar o acesso à parte que vai ser mais frequentemente editada, as informações do veículo.

As demais linhas do código não precisam ser alteradas, mas essas podem, para ajustar conforme o veículo utilizado.

Queria saber se essa "quebra de convenção" é justificável, ou se foi só piração minha e eu deveria sempre seguir a convenção.

Segue o código:

<meta charset="UTF-8">
<h3>Álcool ou Gasolina?</h3>

<script>

//  Informações do carro
    var volumeTanque = 50;
    var distanciaGasolina = 520; //Distância percorrida com um tanque cheio de gasolina
    var distanciaAlcool = 430; //Distância percorrida com um tanque cheio de álcool

//  Programa

    function pula () {
        document.write("<br>");
    }

    function mostra (x) {
        document.write(x);
        pula ();
    }

    var precoGasolina = parseInt(prompt("informe o preço da gasolina"));
    var precoAlcool = parseInt(prompt("informe o preço do álcool"));

    var consumoDeGasolina = distanciaGasolina / volumeTanque;
    var consumoDeAlcool = distanciaAlcool / volumeTanque;

    var litrosGasolina = (Math.round((100/precoGasolina)*100))/100;
    var litrosAlcool = (Math.round((100/precoAlcool)*100))/100;

    var kmGasolina = (Math.round((100/precoGasolina)*consumoDeGasolina*10))/10;
    var kmAlcool = (Math.round((100/precoAlcool)*consumoDeAlcool*10))/10;



    mostra("O preço da gasolina é R$ <h3>" + precoGasolina + "</h3>");
    mostra("O preço do álcool é R$ <h3>" + precoAlcool + "</h3>");

    pula();

    mostra("Com 100 reais, eu coloco " + litrosGasolina + " litros de gasolina.");
    mostra("Com 100 reais, eu coloco " + litrosAlcool + " litros de álcool.");

    pula();

    mostra("O consumo de gasolina é " + consumoDeGasolina + " km/l.");
    mostra("Já o consumo de álcool é " + consumoDeAlcool + " km/l.");

    pula();

    mostra("Com 100 reais, eu ando " + kmGasolina + " km com gasolina.");
    mostra("Com 100 reais, eu ando " + kmAlcool + " km com álcool.");

    pula();
    pula();



    if (kmGasolina > kmAlcool) {
        mostra("A melhor opção de combustível é <h3>Gasolina</h3>");
    }

    if (kmGasolina < kmAlcool) {
        mostra("A melhor opção de combustível é <h3>Álcool</h3>");
    }

    if (kmGasolina == kmAlcool) {
        mostra("<h3>ambos apresentam o mesmo custo x benefício.</h3>")
    }

</script>
1 resposta

Dependendo do que vai fazer, pode fazer sentido você declarar as variáveis no começo. Mas o maior problema em realizar isto, é se você tiver códigos grandes, vai prejudicar a organização/leitura para entendimento do que está acontecendo e consequentemente a manutenibilidade. É importante pensar nisto porque normalmente damos manutenção em códigos que não fomos nós quem criamos.