Dev (Back & Front)ARTIGO

Melhorando a qualidade do seu código jQuery

jQuery é bacana! Escreva menos, faça mais. Porém muitos dos desenvolvedores de hoje em dia não levaram a sério a parte do “escreva menos”, e continuam escrevendo muito e de forma desordenada. Tudo bem, então aqui vai algumas dicas para melhorar a qualidade dos códigos jQuery.

jQuery é bacana! Escreva menos, faça mais.

Porém muitos dos desenvolvedores de hoje em dia não levaram a sério a parte do “escreva menos”, e continuam escrevendo muito e de forma desordenada. Tudo bem, então aqui vai algumas dicas para melhorar a qualidade dos códigos jQuery.

jsHint

jQuery é apenas uma lib javascript. Logo, todas as boas práticas que existem para javascript, também existem para jQuery. Começe passando o teu código pelo jsHint. Dentre outras coisas, o jsHint vai verificar se você usou um switch na hora errada, se declarou uma variável que não está sendo usada…

Outras coisas, que nem o jsHint conseguiria te dizer

Agora começa o meuartigo de verdade!

Prefira sempre usar jQuery no lugar de $

Eu, pessoalmente, considero mais legível. Mas além disso, também estamos evitando de uma maneira muito simples aquele velho problema do conflito com outras libs que usam o apelido $.

Seria:

 jQuery(document).ready(function() {});

No lugar de:

    $(document).ready(function() {});

Não procure um mesmo elemento várias vezes no DOM

Coisas como:

jQuery(this).parent('dl').find('dd').eq(0).addClass('active');  
jQuery(this).parent('dl').find('dt').text('Ativo');

Poderiam ser simplificadas para:

var $this = jQuery(this),  
$dl = $this.parent('dl');  

$dl.find('dd').eq(0).addClass('active');  
$dl.find('dt').text('Ativo');

Note que se formos usar o DD e esse DT outras vezes nesse escopo, então vale apena guardar uma variável que aponte para eles também. Isso também vai melhorar a performance do teu script.

Convencione os nomes das variáveis

É bacana olhar para uma variável e entender logo de cara de onde ela veio e qual o valor dela. Eu estou adotando o $ antes de começar uma variável que aponte para um objeto jQuery. Assim como o $this. E deixo para as variáveis “normais” (arrays, inteiros e strings), uma notação sem o símbolo $. Dessa forma, quando bato o olho no meu código jQuery, sei que todas as variaveis com $ no nome, são objetos jQuery.

var $this = jQuery(this),  
$dl = $this.parent('dl'),  
i = 0,  
str = '';

Faça bom uso dos arrays e objetos

Uma cadeia de if/elses ou switchs pode ser evitada se você souber usar arrays e objetos javascript corretamente. Como por exemplo essa lista de valores:

var values = [];  

values[1] = { '1': '1,90', '6': '1,41', '12': '1,01' };  
values[2] = { '1': '2,90', '6': '2,91', '12': '2,01' };  
values[3] = { '1': '3,90', '6': '3,41', '12': '3,01' };  
values[4] = { '1': '4,90', '6': '4,40', '12': '4,01' };

Tenho quatro “planos”; cada um com três opções de valores: planos mensais, semestrais e anuais. Se eu fosse fazer isso com if ou switch, o código ficaria bem ruim.

Separe comportamentos

Essa é uma coisa básica de programação. Divida um procedimento em várias rotinas menores e escreva pequenas funções que resolvam uma parte pequena do problema. Juntando todas, você terá resolvido tudo.

Leia este artigo:

Aprendi jQuery e agora?

E para terminar:

Faça bem o básico

É básico indentar corretamente, comentar qnuado necessário e documentar. Estas são algumas pequenas boas práticas que vão fazer uma boa diferença nos teus scripts.

Trabalha como Desenvolvedor FrontEnd, nos horários em que não está estudando Matemática na faculdade ou escrevendo posts para o seu blog pessoal.

Ver perfil