Categorias
Arquitetura Java

Encontre os bugs perdidos no seu código com Sonar

Sonar é uma sigla para SOund NAvigation and Ranging, ou seja, variação e navegação do som, que é justamente o uso das ondas do som para detectar a presença de objetos estranhos no seu caminho.

Pois bem, é exatamente essa a proposta do projeto opensource Sonar faz, ele vasculha o código dos seus projetos, faz uma boa análise e gera relatórios que podem ser acessados com o seu web browser favorito.

Existem alguns vídeos disponíveis para mostrar o poder da ferramenta, que é interessante assistir enquanto você faz o download.

O seu projeto precisa usar Maven2 para se integrar ao Sonar, e isso é feito magicamente apenas com um único comando:

mvn  sonar:sonar

O Sonar vai agrupar o resultado dessa análise e armazenar em um banco de dados.


O interessante também é o recurso chamado Time Machine que permite o acompanhamento da evolução da qualidade do código de seus projetos através de gráficos.

As regras impostas pelas análises são totalmente configuráveis. Se você acha que seu projeto não precisa ter a regra If Stmts Must Use Braces, afinal na sua opinião não há problema em existir comando IF sem as chaves, não tem problema, basta você criar o seu próprio perfil do Sonar e nele desativar e ativar o que quiser. Depois que alterar
o perfil, basta atribuir a esse novo perfil os projetos que desejar e pronto, na próxima análise ou no próximo build, o Sonar usará esse novo perfil.

Veja um exemplo de análise de um projeto:

Depois de tudo feito, o Sonar permite que você exporte todas suas configurações para um arquivo XML e restaure em outra instância qualquer do Sonar.

Uma ótima saída para automatizar isso é usar o Apache Continuum, vejam no blog do Fernando Franceschi como instalar em seu ambiente.

Existem opções pagas, como o Sonar PL/SQL plugin, que custa duas mil libras e com ele você analisa o código Oracle PL/SQL de sua empresa, o que é muito útil para medir a qualidade interna de seus desenvolvedores, ou de um projeto terceirizado.

Os seus projetos só tem a ganhar se adotarem o Maven, o Sonar é um excelente exemplo disso.

Fernando Boaglio, para a comunidade. =)