Não se repita (DRY Don't Repeat Yourself)
Definição
O princípio DRY (Don't Repeat Yourself) afirma que cada parte do conhecimento de um sistema deve ter uma representação única, clara e sem duplicação.
Repetição de lógica, regras ou estruturas em diferentes partes do código indica que algo não está bem abstraído — o que dificulta manutenção, aumenta a chance de erros e torna o sistema mais frágil.
Por que é importante
Seguir o DRY reduz inconsistências e facilita alterações futuras. Quando uma regra está duplicada, é fácil esquecer de atualizar todas as cópias ao fazer uma mudança.
Ao centralizar comportamentos comuns em funções, classes ou módulos reutilizáveis, o código se torna mais limpo, coeso e confiável.
Exemplo prático (Python)
Considere um sistema que calcula o preço final de um produto com imposto e desconto em vários pontos diferentes:
# Primeira ocorrência
preco_final = preco_base * 1.2 - preco_base * 0.1
# Segunda ocorrência
total = item.preco * 1.2 - item.preco * 0.1
# Terceira ocorrência
valor = calcula_total() * 1.2 - calcula_total() * 0.1
Aqui temos uma lógica repetida: aplicação de imposto de 20% e desconto de 10%. Se a regra fiscal mudar, será necessário alterar todos os trechos — o que é propenso a erros.
Aplicando o DRY, extraímos a lógica para uma função reutilizável:
def aplicar_precos(preco_base):
imposto = preco_base * 0.2
desconto = preco_base * 0.1
return preco_base + imposto - desconto
# Uso
preco_final = aplicar_precos(preco_base)
total = aplicar_precos(item.preco)
valor = aplicar_precos(calcula_total())
Agora, a lógica está centralizada. Qualquer mudança futura será feita em apenas um lugar, com muito menos risco e mais legibilidade.