Métricas e Visualização de Código-fonte
-
Upload
marcilio-valois -
Category
Software
-
view
54 -
download
2
description
Transcript of Métricas e Visualização de Código-fonte
![Page 1: Métricas e Visualização de Código-fonte](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/1.jpg)
Métricas e Visualização
de Código
João Marcos, Marcilio Valois
![Page 2: Métricas e Visualização de Código-fonte](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/2.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/3.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/4.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/5.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/6.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/7.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/8.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/9.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/10.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/11.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/12.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/13.jpg)
Ferramentas de análise de código
❏Metrics
❏Checkstyle
❏ InCode
![Page 14: Métricas e Visualização de Código-fonte](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/14.jpg)
Metrics
![Page 15: Métricas e Visualização de Código-fonte](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/15.jpg)
Checkstyle
![Page 16: Métricas e Visualização de Código-fonte](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/16.jpg)
InCode
![Page 17: Métricas e Visualização de Código-fonte](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/17.jpg)
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](https://reader030.fdocumentos.tips/reader030/viewer/2022020218/559c068d1a28abaa188b47c9/html5/thumbnails/18.jpg)
Referências
MEIRELLES, P. R. M. Monitoramento de
métricas de código-fonte em projetos de
software livre, São Paulo, 2013.