Refatoração de código Python          Diogo Baeder
1. Introdução
O que é refatoração?●    Alterar código sem alterar a funcionalidade    externa:    –   Remover duplicação    –   Melhorar...
Importância●    Sem refatoração, software deteriora com o    tempo●    Melhora a legibilidade do código●    Ajuda a entend...
Refactoring e TDD●    Terceiro passo do ciclo    “vermelho/verde/refatora”●    Refatoração sem testes? Você quis dizer:   ...
2. Técnicas
Extract Method●    Por quê?    –   Métodos longos e difíceis de ler●    Como?    –   Crie um método novo    –   Mova o blo...
Extract Class●    Por quê?    –   Classes longas e difíceis de ler●    Como?    –   Crie uma classe nova    –   Referencie...
Decompose Conditional●    Por quê?    –   Condicionais difíceis de entender●    Como?    –   Extraia um método a partir da...
Introduce Parameter Object●    Por quê?    –   Dificuldades de lidar com o cabeçalho dos        métodos●    Como?    –   C...
3. Referências●    “Refactoring – Improving the Design of    Existing Code” - Martin Fowler    –   Compre em inglês!!!1●  ...
Logo mais:●    Design de código: princípios e práticas para    ter um código sustentável (Andrews Medina –    auditório – ...
Obrigado! Dúvidas?
Próximos SlideShares
Carregando em…5
×

Refatoração de código Python

701 visualizações

Publicada em

Palestra sobre refatoração de código Python, dada durante o PythonBrasil[8].

Código de apoio para os exemplos de técnicas de refatoração: https://github.com/diogobaeder/refactoring (o código não está refatorado, justamente para servir de base para a execução da refatoração durante a palestra)

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

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
701
No SlideShare
0
A partir de incorporações
0
Número de incorporações
13
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Refatoração de código Python

  1. 1. Refatoração de código Python Diogo Baeder
  2. 2. 1. Introdução
  3. 3. O que é refatoração?● Alterar código sem alterar a funcionalidade externa: – Remover duplicação – Melhorar coesão – Melhorar design em geral
  4. 4. Importância● Sem refatoração, software deteriora com o tempo● Melhora a legibilidade do código● Ajuda a entender melhor o sistema
  5. 5. Refactoring e TDD● Terceiro passo do ciclo “vermelho/verde/refatora”● Refatoração sem testes? Você quis dizer: – Refaketoring – Refucktoring – Defectoring
  6. 6. 2. Técnicas
  7. 7. Extract Method● Por quê? – Métodos longos e difíceis de ler● Como? – Crie um método novo – Mova o bloco de código para ele
  8. 8. Extract Class● Por quê? – Classes longas e difíceis de ler● Como? – Crie uma classe nova – Referencie-a no objeto atual – Mova os métodos para ela, um a um
  9. 9. Decompose Conditional● Por quê? – Condicionais difíceis de entender● Como? – Extraia um método a partir da condição; ou – Introduza uma variável a partir da condição
  10. 10. Introduce Parameter Object● Por quê? – Dificuldades de lidar com o cabeçalho dos métodos● Como? – Crie um objeto com os parâmetros como atributos – Adicione um parâmetro para o objeto – Passe os parâmetros para ele e leia dele – Remova os parâmetros antigos
  11. 11. 3. Referências● “Refactoring – Improving the Design of Existing Code” - Martin Fowler – Compre em inglês!!!1● “Refactoring for Patterns” - Joshua Kerievsky● “Clean Code” - Robert “Uncle Bob” Martin
  12. 12. Logo mais:● Design de código: princípios e práticas para ter um código sustentável (Andrews Medina – auditório – 11:20)
  13. 13. Obrigado! Dúvidas?

×