O seu código fede e você nem sabia

336 visualizações

Publicada em

Apresentação sobre code smells, dívida técnica, refatoração, métricas para qualidade de código fonte e sonar.

Apresentado na DB1 Informática e no Agile Tour Maringá (2013 - Ignite Talk)

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
336
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

O seu código fede e você nem sabia

  1. 1. O seu código fede e você nem sabia. Ou sabia, mas não sabia o quanto fede
  2. 2. Code Smells • Definição: sintoma de que algo no código pode estar errado. • Geralmente indica a necessidade de um refactoring ou de alteração estrutural da aplicação.
  3. 3. Divida técnica - sintomas • Perda de satisfação do cliente quanto a primeira entrega • Demora para entregar o software • Atrasos nas entregas • Erros de estimativas com frequencia • Entrega de software com bug em produção
  4. 4. Divida técnica - sintomas • Projeto engessado • Time frustrado • Cobertura de testes fraca • Suite de testes que demora para ser executada • //TODO E //FIXME • Problemas de comunicação na equipe
  5. 5. Dívida técnica “A dívida técnica é similar à dívida financeira. Assim como a dívida financeira, a dívida técnica exige o pagamento de juros. Estes vem na forma de esforço extra, que devem ser pagos em desenvolvimentos futuros por conta da escolha de um design mais rápido e de baixa qualidade. Nós podemos optar por continuar pagando estes juros ou quitar de uma vez a dívida fazendo uma refatoração, transformando um design de baixa qualidade em um design melhor. Apesar dos custos para saldar a dívida, ganhamos reduzindo os juros no futuro.” Martin Fowler
  6. 6. Como medir ? • Sugestões?
  7. 7. Sonar • http://www.sonarsource.org/
  8. 8. Dois indicadores simples • Complexidade ciclomatica (condicional) – mede a quantidade de caminhos de execução independentes a partir de um código fonte • NCSS – Determina o numero de linhas que um metodo deve ter
  9. 9. • Dívida técnica • Indice de qualidade do projeto • Gráfico Toxicidade • TimeLine • Widget Lab • Tabela de Métricas • SCM Stats
  10. 10. • Posso vincular com o Eclipse • Sugestão de leitura - http://metrics.sourceforge.net/
  11. 11. Dinâmica do dois chapéus: Kent Beck Adicionar Funcionalidade Não altera código pré existente Refatorar Não acrescenta funcionalidade

×