Concrete Logo
Hamburger button

Integrando Ferramentas de Análise de Código no Android 

  • Blog
  • 23 de Novembro de 2015

Parte 1: Checkstyle

Post originalmente publicado no Blog e no Medium pessoal do autor.

Sempre que começamos a escrever código, por mais simples ou complexo que seja, sempre existe a preocupação com a qualidade. Quando trabalhamos em equipe essa preocupação se torna ainda mais presente, pois são várias pessoas produzindo código, cada uma ao seu estilo.

Para melhorar um pouco esse cenário já conhecido, temos ferramentas que nos auxiliam a manter o código em um nível adequado de qualidade, em diversos aspectos. Nesta série que começamos hoje, vamos conhecer ferramentas que podem nos auxiliar a manter nosso código Android mais adequado.

Começando, vamos conhecer o Checkstyle. Conforme citado anteriormente, principalmente quando trabalhamos em um projeto com mais de uma pessoa, o código tende a adquirir traços da “personalidade” de cada um, seja por meio de indentação com tabs / espaços, posicionamento da chave e até nomenclatura de classes e atributos. O Checkstyle tem por objetivo auxiliar a manter um padrão de código por todo o projeto, apontando trechos que estejam fugindo do padrão configurado.

O mais interessante é que o Gradle, o nosso querido build system do Android, já possui o Checkstyle integrado ao projeto, necessitamos apenas de uma pequena configuração para que ele seja executado.

Para começarmos, precisamos aplicar o plugin doCheckstyle no nosso arquivo build.gradle.

Uma prática que geralmente adoto nessa configuração é adicionar o Checkstyle à task check do Gradle. Assim, além das demais verificações que já possuímos (como a execução do Lint), teremos também o Checkstyle rodando.

Feito isso, vamos configurar a execução dessa task em nosso projeto.

Nessa configuração, temos primeiramente a propriedade configFile, que recebe o arquivo checkstyle.xml que, por sua vez, é quem define o estilo do nosso projeto (já já veremos como esse arquivo é). Posteriormente, configuramos para que a execução seja feita sobre a nossa pasta source, incluindo todos os arquivos .java, e concluímos com a configuração do classpath, exigida pelo plugin. Vamos conhecer então o arquivo checkstyle.xml.

Esse arquivo é que conterá as regras a serem validadas pelo CheckStyle. Para esse primeiro exemplo, vamos adicionar apenas uma, que validará se não existem espaços entre os símbolos na declaração de generics.

Existe uma infinidade de regras que podem ser adicionadas ao arquivo. Todas elas podem ser encontradas na documentação oficial e podem ser aplicadas de acordo com o estilo a ser utilizado em seu projeto.

Para validar que a regra está funcionando, podemos criar uma classe simples, que viole a regra de estilo especificada:

Executando a task checkstyle por meio do Gradle (pela linha de comando ou pelo menu Gradle, geralmente localizado na barra direita do Android Studio), teremos uma mensagem ao final da execução:

Além de reportar os problemas no console, ele ainda gera um relatório XML com todas as violações das regras!

Corrigindo o nosso código para:

Temos uma execução tranquila e sem erros 🙂

E é isso! No próximo post vamos conhecer a FindBugs, que pode nos salvar debugs clássicos e problemas de segurança no nosso código 😀

Ficou alguma dúvida ou tem alguma observação? Aproveite os campos abaixo. Até a próxima!