Refatoração básica e obrigatória

Embed Size (px)

Citation preview

1. Refatorao bsica e obrigatria Denilson Telaroli Maro / 2014 2. Oque Refatorao? Processo de restruturao de cdigo-fonte existente (Code refactoring Wikipedia) Intimamente ligado a Padres de Projetos 3. Objetivos Legibilidade Manutenibilidade Reaproveitamento 4. Sintomas de quando aplicar Precisou copiar/colar cdigo Abriu um cdigo alheio e no entendeu o que faz Muitos blocos/encadeamentos condicionais Identificou linhas de cdigo iguais Identificou linhas de cdigo parecidas, mudando apenas os valores de dados 5. Views Expresses com valores Dificultam a manuteno Pode ser substituido por helper Refatorao: Substituir valor temporrio por consulta 6. Views Regras de view complexas Bad smell mais comum e normalmente so espalhados pelos sistemas Fora o desenvolvedor a conhecer toda a api (inverso de encapsulamento) Podem ser traduzidas em palavras que refletem regras de negcio Normalmente podem ser substituidas por helpers Refatorao: Extrair mtodo 7. Classes Extrair funo Uma funo deve ter uma e somente uma operao 8. Classes Injeo de parametros Serve pra funes/mtodos e construtores O problema mais grave em APIs com DI Refatorao: Introduzir objeto parmetro (facade) No Ruby possvel usar hash para o mesmo propsito, evitando a classe facade. 9. Classes Introduzir parmetro 10. Classes Introduzir parmetro