Imagem post: Assegurando a qualidade do seu código JavaScript
Javascript

Assegurando a qualidade do seu código JavaScript

Conheça ferramentas de análise de código que ajudam a manter a qualidade e o padrão de suas aplicações javascript.

Por
15

Enquanto testes automatizados asseguram o funcionamento de suas aplicações e, portanto, também a qualidade, algumas ferramentas atuam em outra área importante do seu código: a sintaxe.

Ferramentas de lint são scripts que interpretam seus arquivos javascript e buscam erros como varáveis não utilizadas, espaços em branco no final de linha, ausência de ponto-e-vírgula (um ponto polêmico) entre outros.

Abaixo você encontra alguns utilitários que buscam garantir melhor qualidade e padrão para seus códigos.

É importante ressaltar que esse tipo de ferramenta não garante que seu código está funcionando, que a lógica está correta, garante apenas a presença de boas práticas de desenvolvimento.

JSLint

http://www.jslint.com/

Desenvolvida por ninguém menos do que Douglas Crockford, pai do famoso “The Good Parts”, esta ferramenta busca tanto erros de sintaxe, como erros estruturais.

As regras e convenções utilizadas na análise podem ser encontradas no site javascript.crockford.com/code.html.

Você pode utilizar a versão online da ferramenta, ou então instalar o script através do gerenciador de pacotes do NodeJS (npm). O código-fonte está disponível no GitHub.

JSHint

http://www.jshint.com/

A ferramenta JSHint teve início como um fork da JSLint, visando uma maior flexibilidade, permitindo configurações de acordo com necessidades específicas.

A documentação do projeto inclui uma página de opções disponíveis para essa personalização.

Assim como a JSLint, a JSHint pode analisar seu código online ou pode ser instalada via NPM.

Closure Linter

https://developers.google.com/closure/utilities/

Diferentemente das ferramentas anteriores, a Closure Linter obriga o uso do estilo JavaScript defendido pela Google. É utilizada em todos os projetos da empresa, incluindo Gmail, Docs e Reader.

Também diferentemente das anteriores, a Closure Linter vem acompanhada de um script para corrigir os erros encontrados. Ou seja, ela não apenas indica o que está errado, como também oferece uma maneira de “corrigir” seu código automaticamente.

Os utilitários podem ser baixados na página do projeto no Google Code. O script gjslint é o responsável pela análise de código enquanto o fixjsstyle corrige os erros encontrados.

jQuery Lint

http://james.padolsey.com/javascript/jquery-lint/

Para finalizar, uma ferramenta para os fãs de jQuery que analisa a sintaxe e a estrutura. Ela funciona de forma diferente das demais: sua aplicação é feita na página, ou seja, o script deve ser chamado após o código da sua aplicação, A resposta é enviada para o console do navegador.

<script src="aplicacao.js"></script>
<script src="jquery.lint.js"></script>

É altamente configurável e pode ser adaptada para os padrões de desenvolvimento do seu projeto.

O código-fonte do projeto está disponível no GitHub: github.com/padolsey/jQuery-Lint


  • http://twitter.com/talitapagani Talita Pagani

    Mais um excelente post Davi! Estava justamente pesquisando alguns recursos nesta vertente e seu artigo foi bem esclarecedor.

    O que você pensa sobre o projeto de JavaScript Idiomático?

    Abraços

  • http://twitter.com/davitferreira Davi Ferreira

    Bem lembrado, Talita.

    Acho bem bacana o projeto, mas o principal mesmo é você e seu time estarem de acordo com o padrão a ser seguido, não importa qual seja.

    Pra quem não conhece o projeto, segue o link:
    https://github.com/rwldrn/idiomatic.js

  • Mauricio Cabral

    Ok, tà certo falar de padrão dentro uma empresa, um código deveria ser escrito com a mesma “linha” entre todos os programadores do mesmo grupo. Eu não deveria ver diferenças de estilo no meu código e o código de um meu colega.
    Outra coisa é falar de erros entre:
    if (a = b) {
    e
    if(a = b){

    Isso é querer definir o meu estilo certo e o teu errado, é pura exageração.Seria melhor se concentrar na lógica da programação, onde sim, pode ter certo e errado.Minha opinião.

  • Ruan Mér

    feio demais esse jQuery Lint… ter de por um codigo pra validar =/ 

  • http://gustavo.sillero.net/ Gustavo Sillero

    As 3 primeiras ferramentas podem ser incorporadas ao Sublime 2 (através do Package Control), dando feedback instantâneo sobre a codificação.

  • Gabriel Magalhães dos Santos

     Já to incorporando hehehehe

  • http://www.gabrielmagalhaes.com.br/ Gabriel Magalhães dos Santos

    Muito bom o artigo Davi!,

    Vale lembrar que existe tambem o Jasmine(que inclusive vc já comentou aqui xD) “faz” TDD com jquery.
    Da pra refatora 0198210398120938 de vezes e melhorar ainda mais o código!

  • http://twitter.com/davitferreira Davi Ferreira

    Bem lembrado também, Gustavo! Na verdade, todas possuem plugins para quase todos os editores.

  • Pingback: Criando um plugin JavaScript (sem jQuery!) | Tableless

  • Pingback: RE: Javascript, conceitos básicos e um pouco de jQuery [pós] - Fórum - OPA! Tecnologia

  • Pingback: Criando um plugin Javascript sem Jquery | Velame Cursos

  • http://twitter.com/felquis Ofelquis Gimenes

    Davi, qual você usa?

  • Pingback: Criando um plugin JavaScript (sem jQuery!) | Dublado

  • Pingback: 3 ferramentas para criar e gerenciar projetos web - Tableless

  • Renie Siqueira da Silva

    Boa Mauricio! É aquela linha tênue entre o que facilita o desenvolvimento e manutenção do código, e o exagero que mais atrasa do que ajuda

Mais artigos