DRY na Programação: Não se Repita e Torne Seu Código Melhor!
O princípio DRY, abreviação de “Don’t Repeat Yourself” (não se repita), é uma das bases fundamentais no desenvolvimento de software.
Conforme descrito por Andy Hunt e Dave Thomas no livro “The Pragmatic Programmer”, o DRY enfatiza a importância de reduzir repetições no código para criar sistemas mais fáceis de manter, com menos erros e maior produtividade.
Neste post, vamos explorar o princípio DRY com exemplos práticos e dicas para aplicá-lo. Então, bora lá devs. 🚀
O que é DRY?
O princípio DRY defende que a lógica, abstrações ou padrões devem ser reutilizáveis, em vez de serem duplicados.
A duplicação de código leva a problemas como:
- Manutenção difícil: Bugs em código duplicado exigem correções em várias partes.
- Inconsistências: Esquecer de atualizar todas as duplicatas pode causar erros.
- Bases de código inchadas: Lógica repetida aumenta o tamanho do código desnecessariamente.
A solução? Refatorar código em funções reutilizáveis, módulos ou classes.
Por que o DRY é importante?
Vamos ver um exemplo que viola o DRY:
Aqui, a lógica de calcular o desconto (price - price * discount) é repetida. Se a regra de negócio mudar, você precisará corrigir a lógica em vários lugares, aumentando o risco de erros.
Aplicando o DRY
Podemos refatorar esse código para seguir o princípio DRY:
Agora, a lógica de desconto está centralizada em uma única função. Qualquer alteração na fórmula de desconto será feita apenas em um lugar.
Exemplo de DRY na prática: Formatação de Datas
Código não DRY:
Código DRY:
Com esta refatoração, a lógica está consolidada em uma única função reutilizável. Simples, limpo e eficiente!
Dicas para Aplicar o DRY
- Design Modular: Divida sua base de código em módulos reutilizáveis.
- Funções Compartilhadas: Centralize lógica comum em funções utilitárias.
- Revisão de Código: Incentivam revisões para identificar e eliminar duplicações.
Equilibrando o DRY com a Praticidade
Aplique o DRY com moderação. Excesso de abstração pode tornar o código mais difícil de entender.
- Regra prática: Se a duplicação for de conceitos relacionados, refatore. Se for de conceitos
- independentes: não force.
- independentes: não force.
Conclusão
O DRY é essencial para criar bases de código limpas, sustentáveis e escaláveis. Reduzindo repetições, você economiza tempo, evita bugs e melhora a colaboração na equipe. E você? Tem usado o DRY no seu código?