Refactoring
Felipe Santana Vasconcellos Pinto
Henrique H. Iwamoto
Objetivo
• Apresentar a “Refatoração”.
• Introduzir o conceito “Bad Smell”.
• Exemplificar alguns “Bad smells”.
Relembrando!!
• 1° conjunto de slides sobre padrões de projeto, dado pelo professor Dr. Fábio Fagundes Silveira.
O que é “Refatoração”?
• O conceito de Refatoração
A refatoração sempre foi utilizada por desenvolvedores de software. Porém esta prática ainda não tinha nome e os programadores nem sabiam que faziam isto.
• Um dos principais autores sobre “Refactoring” é o Martin
Fowler.
• Porém o Pioneiro foi Opdyke em sua tese de Ph.D em 1992.
O que é “Refatoração”?
“Refatoração é uma técnica disciplinada para reestruturar um trecho de código existente, alterando sua estrutura interna sem alterar seu comportamento externo. Sua base é uma série de pequenas transformações que preservam o seu comportamento. Cada transformação (chamada de
'refatoração') faz pouco, mas uma sequência de transformações pode produzir uma grande reestruturação. Se cada refatoração é pequena, fica menos provável algo dar errado. O sistema também é mantido totalmente funcional após cada pequena refatoração, o que reduz as chances do sistema ficar seriamente prejudicado durante a reestruturação”. Martin Fowler
Porque “Refatoramos”?
• “Um bom desenvolvedor consegue entender qualquer código”. • “Um bom programador consegue criar códigos que qualquer um entende”.
Porque “Refatoramos”?
• O que faz esse código?
Porque “Refatoramos”?
• E esse?
Porque “Refatoramos”?
• Podemos Observar que o objetivo da refatoração é reduzir a complexidade e tornar o código mais compreensível.
Quando Devemos “Refatorar”?
Um dos criadores da Programação Extrema, Kent Beck, disse que devemos utilizar a refatoração quando o código “cheirar mal" (bad smells).
• E quando um código “cheira mal”?
“Bad Smells”
• Existem diversos “problemas” que dizem que meu código tem
um