Conceito: Re-fatoração |  |
Este conceito explica as estratégias para melhorar o design do código existente de forma que não altere seu comportamento externo.
Relacionamentos
Elementos Relacionados | Desenvolvimento Design Design Teste-primeiro Evoluir o Design Implementar a Solução Projetar a Solução Re-fatoração Reutilização de Software
Descrição Principal
A re-fatoração é uma forma disciplinada de reestruturar o código quando pequenas mudanças são feitas nele para melhorar o design. Um aspecto importante de uma re-fatoração é que ela melhora o design sem mudar o comportamento do design; uma re-fatoração não adiciona nem remove funcionalidade. A re-fatoração permite evoluir o código lentamente no tempo, de forma que se tenha uma abordagem iterativa e incremental para a implementação. Existem três tipos de re-fatoração: Re-fatoração de código. Normalmente conhecida como re-fatoração, é a re-fatoração do código fonte programado. Exemplos de re-fatoração de código: Re-nomear Métodos, Encapsular Campos, Extrair Classes, Introduzir Afirmações e Especializar Métodos. Re-fatoração de base de dados. Uma re-fatoração de base de dados é uma simples mudança no esquema da base de dados que melhore seu design mantendo suas semânticas comportamental e informativa. Exemplos de re-fatoração de base de dados: Re-nomear Colunas, Dividir Tabelas, Mover um Método para a Base de Dados, Substituir LOB por Tabela, Associar Restrições as Colunas e Usar Fontes Oficiais de Dados. Re-fatoração de interface de usuário (UI). Uma re-fatoração de interface de usuário é uma simples mudança na interface mantendo sua semântica. Exemplos de re-fatoração de interface de usuário: Alinhar Campos de Entrada, Aplicar Tamanho Comum aos Botões, Aplicar uma Fonte Comum, Indicar Formato, Reescrever o Texto em Voz Ativa e Aumentar o Contraste das Cores. Martin Fowler [FOW99] identifica quatro principais razões para re-fatorar: A re-fatoração melhora o design do software A re-fatoração torna o software mais fácil de manter. A re-fatoração lhe ajuda a encontrar defeitos A re-fatoração lhe ajuda a programar mais rápido A re-fatoração pode melhorar o design do código existente, mas não substitui a consideração do design antes da escrita do código. Ao contrário, a re-fatoração muda o papel de design, permitindo que o trabalho estritamente de design seja mais abstrato. Decisões muito táticas e de pequena escala, podem ser tomadas durante a implementação da solução com a confiança de que a re-fatoração irá garantir uma implementação de qualidade, neste nível. A execução do design da solução, antes da implementação, será mais leve e focada em grandes fatores que irão direcionar a implementação. Existe um benefício adicional da re-fatoração: ela muda a forma que um desenvolvedor pensa sobre a implementação quando não há re-fatoração. A tarefa básica da implementação de uma solução torna-se unicamente a obtenção do sucesso da execução dos testes de desenvolvedor na solução da forma mais simples possível. Então, o design da solução pode ser examinado e re-fatorado separadamente. Mesmo que essas duas coisas -- a implementação da solução e, em seguida, a melhoria -- sejam mínimas, pode ser interessante para um desenvolvedor criar o código que faça com que o teste passe e, melhorá-lo depois. Fontes de informação sugeridas: http://www.refactoring.com/ http://www.agiledata.org/essays/databaseRefactoring.html
Este programa e o material que o acompanha são disponibilizados sob a Eclipse Public License v1.0 que acompanha esta distribuição. Direitos Autorais do OpenUP.