Métricas e Visualização de Código-fonte

18
Métricas e Visualização de Código João Marcos, Marcilio Valois

description

Este trabalho cita alguns exemplos de métricas e por que usá-las em projetos de software. inclui também sugestões de ferramentas que auxiliam na coleta de informações de métricas de código.

Transcript of Métricas e Visualização de Código-fonte

Page 1: Métricas e Visualização de Código-fonte

Métricas e Visualização

de Código

João Marcos, Marcilio Valois

Page 2: Métricas e Visualização de Código-fonte

Roteiro1. Introdução

2. Por que usar métricas

3. Métricas de código

3.1. Número de linhas

3.2. Número de atributos e métodos

3.3. Relacionadas a herança

3.4. Outras métricas

1. Ferramentas de análise de código

4.1 Metrics

4.2 CheckStyle

4.3 Incode

1. Escala de Medição

2. Conclusão

3. Referências

Page 3: Métricas e Visualização de Código-fonte

Introdução

O objetivo das métricas de software é a

identificação e medição dos principais

parâmetros que afetam o desenvolvimento de

software (Mills, 1988).

Métricas de código podem apontar se um

código está ou não em conformidade com as

boas práticas de programação e isso reflete

diretamente na facilidade de visualização.

Page 4: Métricas e Visualização de Código-fonte

Por que usar métricas

Código compilado pode ser analisado, mas

características como organização e legibilidade

são perdidas; mesmo uma bateria de testes

com ótima cobertura só apresenta informação

sobre o funcionamento atual, não refletindo

manutenibilidade, modularidade, exibilidade e

simplicidade. Nesse contexto, as métricas de

código-fonte complementam as outras

abordagens de monitoramento da qualidade do

software.

Page 5: Métricas e Visualização de Código-fonte

Métricas de Código

❏ Tipos de métricas:

❏ Baseadas no número de linhas

❏ Baseadas no número de métodos e

atributos

❏ Baseadas na herança

❏Outras métricas

Page 6: Métricas e Visualização de Código-fonte

Número de linhas

❏ LOC (Lines Of Code - Número de linhas de

código).

❏ AMLOC (Average Method LOC - Média do

número de linhas por método).

❏MMLOC (Max Method LOC - Número de

linhas de código do maior método da

classe).

Page 7: Métricas e Visualização de Código-fonte

Número de atributos e métodos

❏NOA (Number of Attributes - Número de

atributos).

❏NOM (Number of Methods - Número de

métodos).

❏NPA (NuAmber of Public Attributes -

Número de atributos públicos).

❏NPM (Number of Public Methods - Número

de métodos públicos).

❏ ANPM (Average Number of Parameters per

Method - Média do Número de Parâmetros

por Método).

Page 8: Métricas e Visualização de Código-fonte

Relacionadas a herança

❏DIT (Depth of Inheritance Tree -

Profundidade da árvore de herança).

❏NOC (Number of Children - Número de

filhos ).

Page 9: Métricas e Visualização de Código-fonte

Outras métricas

❏ ACCM (Average Cyclomatic Complexity per

Method - Média da Complexidade

Ciclomática por método).

❏ ACC (Aerent Connections per Class -

Conexões aferentes de uma classe).

❏ LCOM (Lack of Cohesion in Methods -

Ausência de coesão em métodos)

❏ SC (Structural Complexity - Complexidade

estrutural)

Page 10: Métricas e Visualização de Código-fonte

Escala de medição

As métricas devem estar associadas a uma

escala de medição que proporcione significado

ao valor obtido no seu cálculo. Elas precisam

ser coletadas em um modelo de dados

específico que pode envolver cálculos ou

análise estatística.

Page 11: Métricas e Visualização de Código-fonte

Exemplos:

❏No LOC os intervalos sugeridos para uma

classe Java ou C++ são: até 70 (bom );

entre 70 e 130 (regular); 130 em diante

(ruim).

❏No AMLOC os intervalos sugeridos são:até

10 (bom); entre 10 e 13 (regular); de 13 em

diante (ruim).

Page 12: Métricas e Visualização de Código-fonte

Exemplos

❏No ACCM de 1 a 10 (baixa complexidade ,

fácil de entender e testar); de 11 a 20

(média complexidade, relativamente difícil

de entender e testar); de 21 a 50 (alta

complexidade, difícil de entender e testar);

maior que 50(altíssima complexidade).

Page 13: Métricas e Visualização de Código-fonte

Ferramentas de análise de código

❏Metrics

❏Checkstyle

❏ InCode

Page 14: Métricas e Visualização de Código-fonte

Metrics

Page 15: Métricas e Visualização de Código-fonte

Checkstyle

Page 16: Métricas e Visualização de Código-fonte

InCode

Page 17: Métricas e Visualização de Código-fonte

Conclusão

Ao entender o significado das métricas se torna

mais fácil desenvolver um código que atenda a

elas, com isso se tem um codigo com melhor

legibilidade e manutenibilidade.

Page 18: Métricas e Visualização de Código-fonte

Referências

MEIRELLES, P. R. M. Monitoramento de

métricas de código-fonte em projetos de

software livre, São Paulo, 2013.