Refatorando os Dry’s

Refatorando os Dry’s

13:00 08 October in Desenvolvimento de Aplicações, Implantação de Soluções
0 Comments

 

Don’t repeat yourself”, em português, seria algo como “não repita a si mesmo” ou também conhecido pelo acrônimo DRY. Este é um conceito de desenvolvimento de software que propõe que cada porção de conhecimento em um sistema deve possuir uma representação única, de autoridade e livre de ambiguidades em todo o sistema. Esta expressão foi cunhada por Andy Hunt e Dave Thomas em seu livro “The Pragmatic Programmer”. Ele se aplica amplamente, incluindo esquema de banco de dados, plano de teste, compilação e mesmo documentação de software. Se este conceito for aplicado, a modificação de uma parte do sistema não leva a modificações em outras partes não relacionadas. Adicionalmente, todos os elementos relacionados mudam de forma previsível e uniforme, mantendo-se, portanto, sincronizados.

Segue a linha de raciocínio básico para refatorar um dry:

Dry dentro de um método

Quanto acontecer blocos de códigos repetitivos dentro de um mesmo método, você refatora o dry em uma closure na primeira vez que o bloco acontecer e reusa invocação da closure para as próximas chamadas.

Dry dentro da uma classe

Quando houver blocos de códigos repetitivos dentro de uma mesma classe, em diferentes métodos, você refatora o dry em um método privado, nomeando-o de acordo, e reusa fazendo a invocação desse método em todos os outros.

Dry em várias classes

Quanto houver blocos de códigos repetitivos dentro de várias classes, você refatora o dry em uma classe especializada, nomeando adequadamente, de acordo com a situação. Ela pode a vir a ser uma simples classe estática utilitária ou até uma classe de instância, dentro dos blocos de construções de sua arquitetura, tudo dependendo da interpretação do projetista.

Ciclo TDD

Seguindo a ciclo básico do TDD, deixe o dry acontecer no código sem preocupação. Seja feliz por alguns momentos, copiando e colando aquele bloco de código repetitivo. Depois que você estiver no estágio de barra verde, com os testes em dia e tudo funcionando, é que você então vai para a fase de refatoração, auditando o que foi programado, aplicando essa sequência de passos.

 

**Este texto é uma produção independente e, portanto, de inteira responsabilidade do autor, não refletindo a opinião da Infobase.

Fernando Franzini

fernando.franzini@iinterativa.com.br

Graduado e pós-graduado em Engenharia de Software, há 15 anos desempenhando atividades de gestão, consultoria e treinamentos no desenvolvimento de soluções corporativas desktop, web e mobile com a plataforma Java e metodologias Ágeis.