Métricas e visualização de código-fonte
-
Upload
marcilio-valois -
Category
Software
-
view
43 -
download
0
description
Transcript of Métricas e visualização de código-fonte
![Page 1: Métricas e visualização de código-fonte](https://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/html5/thumbnails/2.jpg)
Roteiro1. Introdução2. Por que usar métricas3. 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ça3.4. Outras métricas
4. Ferramentas de análise de código4.1 Metrics
4.2 CheckStyle4.3 Incode
5. Escala de Medição6. Conclusão7. Referências
![Page 3: Métricas e visualização de código-fonte](https://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/html5/thumbnails/3.jpg)
IntroduçãoO 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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/html5/thumbnails/10.jpg)
Escala de medição
As métricas devem estar associadas a uma escala de medição que proporcione significadoao 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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/html5/thumbnails/14.jpg)
Metrics
![Page 15: Métricas e visualização de código-fonte](https://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/html5/thumbnails/15.jpg)
Checkstyle
![Page 16: Métricas e visualização de código-fonte](https://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/html5/thumbnails/16.jpg)
InCode
![Page 17: Métricas e visualização de código-fonte](https://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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://reader033.fdocumentos.tips/reader033/viewer/2022052623/559c06e11a28ab98188b47f3/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.