Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

XPCE - Qualidade no Código

631 views

Published on

Palestra sobre qualidade no código com métricas apresentada no Evento Retrospectiva Agile Brazil 2012 do grupo XPCE.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

XPCE - Qualidade no Código

  1. 1. Melhorando a Qualidade do Código com MétricasJosé Araújo
  2. 2. Quem?• José Araújo• 7 anos na área de desenvolvimento• Engenharia de Software• Java & Android• Delphi Conference• Fortes Informática
  3. 3. Introdução
  4. 4. Introdução• Prazos, cronogramas apertados;• Código fonte estruturado;• Degradação da evolução;• Ferramentas;• Métricas;
  5. 5. Código Fontecomo Design
  6. 6. Código-Fonte como Design• Subvalorização;• Movimento ágil;• Martin Fowler, Kent Beck;• Diagramas (UML);• Representação mais fiel do comportamento real;• Estratégia de alteração;
  7. 7. Um bom design
  8. 8. Um bom design• Definição abstrata; • Cliente; • Programador;• Intuição humana;• Potenciais problemas;• Medições;• Constante monitoramento;
  9. 9. Quais métricas utilizar?
  10. 10. Quais métricas utilizar?• Existem várias;• Todas me atende?• “Incômodos”;• Maus cheiros;• Princípios de OO;• O que você não quer ter no código;
  11. 11. Problemas comuns
  12. 12. Código duplicado• “Cheiro mais forte”;• Prioridade total;• Impacto nos testes;• Manutenção;• Número de linhas duplicadas;
  13. 13. Métodos longos & Complexidade • Métodos Megazord - EGH; • Leitura; • Incentiva duplicidade; • Só faz uma tarefa; • if, elses, for, while, case...;
  14. 14. Classes grandes• Coesão;• Princípio da responsabilidade única (SRP);• Open Close Principle – OCP;• Muitos métodos;• Muitos atributos;
  15. 15. Ferramentas
  16. 16. Ferramentas• Ferramentas visuais;• Varias Métricas prontas;• Gráfico de Kiviat;
  17. 17. Bate-papo final• Estratégia;• Agir de forma sistêmica;• Desenvolvedores Capacitados;• Prevenção;• Analisar dados coletados;• Habilidade dos desenvolvedores;
  18. 18. Perguntas?José Araújojoseafilho@gmail.comhttp://centraldaengenharia.wordpress.com/http://twitter.com/cengenharia “Tudo é uma questão de Engenharia!” “Everything is a matter of Engineering!”

×