Métricas de Qualidade com JavaNCSS e JDepend

Descubra se seu código segue a arquitetura proposta e identifique possíveis problemas automaticamente.

Esse artigo faz parte da revista Java Magazine edição 19. Clique aqui para ler todos os artigos desta edição

 

Clique aqui para ler esse artigo em PDF.

Na Medida Certa

Métricas de Qualidade com JavaNCSS e JDepend

Descubra se seu código segue a arquitetura proposta e identifique possíveis problemas automaticamente

“Não é possível melhorar o que não se controla, e não é possível controlar o que não se mede”. Essa é uma das máximas da qualidade de software e a principal idéia por trás da coleta de métricas. As métricas (um termo mais técnico para "medidas") são uma forma de medir a qualidade e ajudam a obter informações como a taxa de crescimento do sistema, o local do código de maior complexidade e problemas que prejudicam a manutenção (ex.: alto acoplamento).

A qualidade do código de uma aplicação tende naturalmente a diminuir com o passar do tempo. No começo do projeto geralmente existe uma arquitetura a ser seguida e boas práticas de programação estabelecidas. Mas à medida que o projeto evolui, vêm as mudanças nos requisitos, a urgência dos prazos – e as famosas “gambiarras”.

A boa notícia é que coletar métricas pode ser tão fácil quanto clicar num botão. Essa coleta pode ser automatizada através de ferramentas como JavaNCSS e JDepend, que podem ser integradas por meio de um script do Ant, permitindo até que a obtenção de métricas faça parte do build principal da aplicação.

JavaNCSS

O JavaNCSS é uma ferramenta livre que pode ser usada para levantar métricas de tamanho, de complexidade e de nível de documentação do código, que dão uma idéia do custo de manutenção da aplicação (veja o quadro "Métricas do JavaNCSS"). A ferramenta pode ser executada de forma integrada a um script do Ant. O resultado gerado é um site HTML bem organizado, apresentando as métricas com quebras por pacotes, classes e métodos, além de um resumo geral para o projeto.

Como exemplo, vamos colher métricas do framework de persistência relacional Hibernate 2.1. A coleta de métricas do JavaNCSS é feita sobre o código fonte da aplicação. O script para obtenção de métricas tanto do JavaNCSS quanto do JDepend (que apresentaremos adiante) pode ser visto na Listagem 1.

Para executar o JavaNCSS de forma integrada ao Ant, deve ser usada a tarefa javancss. Como esta não é uma tarefa padrão do Ant é necessário defini-la no script (veja a marcação ? na Listagem 1). O próximo passo é usar a tarefa javancss para colher as métricas sobre o código fonte (marcação ). Esta tarefa pode receber os seguintes parâmetros:

§srcdir – diretório onde estão os arquivos-fonte

§" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados