O documento discute a importância da refatoração de código para mantê-lo limpo, de fácil manutenção e entendimento. Apresenta conceitos como Clean Code, Object Calisthenics, princípios SOLID e padrões de projeto que auxiliam na refatoração, além de discutir técnicas como identificar código que precisa ser refatorado, manter a interface inalterada e testar durante o processo.
4. Globalcode – Open4education
Refactoring
Refactoring: a change made to the internal structure of
software to make it easier to understand and cheaper to
modify without changing its observable behavior.
• Martin Fowler
8. Globalcode – Open4education
Conceitos Básicos
Clean Code
Clean code can be read, and enhanced by a
developer other than its original author.
(Dave A. Thomas, OTI Founder)
Clean code is simple and direct
(Grady Booch, author of Object Oriented Analysis and Design with Applications)
10. Globalcode – Open4education
Conceitos Básicos
Object Calisthenic
Um nível de indentação por método
Não utilize else
Encapsule os tipos primitivos
Apenas um -> por linha
Não Abrevie
Mantenha suas classes Pequenas
Limite o número de atributos (2~5)
Utilize coleções
Use Getters e Setters
11. Globalcode – Open4education
Conceitos Básicos
Princípios SOLID
S ingle Responsability
O pen / Closed
L iskov Subtitution
I nterface Segregation
D ependency Injection
16. Globalcode – Open4education
Refatoração - Estruturada
Nem sempre teremos um código
minimamente orientado a objetos
Mapeie as relações
Procure por dependências desta página em outros
arquivos
Agrupe as Classes em Namespaces ou
Pastas (v.5.2-)
19. Globalcode – Open4education
Refatoração - Diretórios
Defina qual o objetivo final
Documente o que for alterado
Altere apenas o necessário
Não tenha pressa
Defina Etapas
23. Globalcode – Open4education
Refatoração - Objetos
Inicie pelos métodos de menor complexidade
Informe a equipe sobre a mudança na
interface de alguma classe.
Siga os padrões especificados
Dica de ouro: converse com a sua equipe
antes.
24. Globalcode – Open4education
Ouça as opiniões
Mesmo dentro de um grupo de desenvolvedores,
dependemos da aceitação da equipe para que as
mudanças sejam bem sucedidas.
27. Globalcode – Open4education
Esqueça o padrão Singleton
A maior parte das atuais atribuições do padrão singleton
está relacionada a problemas no design