Integrando Ferramentas de Análise de Código no Android — Parte I: Checkstyle

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 através 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, nesse caso, é que o Gradle, o nosso querido build system do Android, já possui o Checkstyle integrado ao projeto, necessitando apenas uma pequena configuração para que ele seja executado.

Bom, para começarmos, primeiramente precisamos aplicar o plugin do Checkstyle no nosso arquivo build.gradle.

Uma prática que geralmente adoto nessa configuração, é adicionar o Checkstyle a 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 é 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 < e > 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 através 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 de bugs clássicos e problemas de segurança no nosso código :D

Até lá!

Like what you read? Give Rafael Toledo a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.