Skip to content

Coleta de métricas de código fonte Java, C e python

Bruna Pinos edited this page Jun 23, 2017 · 4 revisions

Sumário

1. Analiso

1.1 Instalação

1.2 Rodando o Analizo no seu Projeto

1.3 Entendendo as Métricas

2. Mezuro

3. Mezuro vs Analizo

1. Analizo

1.1 Instalação

Esta instalação está disponível em inglês na página https://github.com/analizo/analizo/blob/master/INSTALL.md.

Pacote Debian

  1. Crie um arquivo "analizo.list" na pasta /etc/apt/sources.list.d/
cd /etc/apt/sources.list.d/
gedit analizo.list

O arquivo se abrirá no editor de texto, adicione as linhas:

deb http://analizo.org/download/ ./
deb-src http://analizo.org/download/ ./

Salve e feche o editor de texto.

  1. Adicione a chave de assinatura do repositório para sua lista de chaves confiáveis:
# wget -O - http://analizo.org/download/signing-key.asc | apt-key add -
  1. Atualize a lista de pacotes:
$ apt-get update
  1. Instale o analizo:
$ apt-get install analizo

1.2 Rodando o Analizo no seu Projeto

  1. Vá até a pasta de código fonte do seu projeto pelo terminal

Exemplo:

 cd git/GPP2016/fork/2016.2-WikiLegis/app/src/main/java/

Note que a pasta de código fonte pode não ser a pasta raiz da sua aplicação. Rodando as métricas na pasta raiz pode ser que algum componente da linguagem ou da IDE interfira nas suas medições.

  1. Rode o comando para gerar as métricas no arquivo metrics.out:
analizo metrics > metrics.out

Pronto, as métricas do seu código já estão no arquivo metrics.out, podendo ser aberto com seu editor de texto favorito.

1.3 Entendendo as Métricas

Ao ver esses números, não se assuste. Faça a pesquisa sobre as métricas importantes para o seu contexto e tenha anotado as abreviações (Exemplo: accm = Avarage cyclomatic complexity = Complexidade ciclomática média). Nem tudo que está aqui você quer. Ele te dará variações da mesma métrica, mas você não precisará de todas. Algumas variações que merecem menção honrosa são:

  • metric_mean: A média dos dados dessa métrica. (Percentil 0%)
  • metric_quantile_max: O valor máximo dessa métrica em uma classe.
  • metric_quantile_median: A mediana dos dados dessa métrica
  • metric_quantile_min: O valor minimo dessa métrica em uma classe.
  • metric_quantile_ninety_five: Valor médio da métrica observando apenas os valores 5% mais altos.(Percentil 95%)
  • accm_quantile_upper: Valor médio da métrica observando apenas os valores 25% mais altos. (Percentil 75%)

Para um melhor entendimento das métricas de Percentil veja o artigo.

Além das métricas Gerais média de todo o código, mais pra baixo ele te dará o valor em cada classe, o que pode ser útil para encontrar as classes que estão abaixando os valores das suas métricas e deixando seus indicadores ruins.

2. Mezuro

O Mezuro é um ferramenta de análise de métricas de qualidade de código produzido pelo Centro de Competência em Software Livre (CCSL), da Universidade de São Paulo (USP). Este utiliza do Analizo para calcular as métricas e análisá-las, para posteriomente mostrar as resultantes de código em seu portal.

O Mezuro é uma aplicação web e por isso não necessita de instalação, sendo necessário criar uma conta e adicionar o repositório de seu projeto nele. Sua utilização é bem intuitiva e fácil, dispondo de uma interface gráfica amigável.

3. Mezuro vs Analizo

Apesar do Mezuro ser mais User friendly, ele não te dá a liberdade de escolher as métricas como o Analizo dá. Por outro lado, ele já te dá indicadores de forma formatada e pronta para ser apresentada em uma Wiki por exemplo.

Outro ponto positivo do Analizo é ser situado em sua máquina, assim não ocorre a possível demora causada pela dependência de servidor, como temos com o Mesuro.

Clone this wiki locally