Quando falamos sobre escrever código de qualidade, um dos princípios mais fundamentais e negligenciados é o DRY, Don't Repeat Yourself. A ideia é simples: evite repetir lógica, comportamento ou estrutura em múltiplos lugares do código. Mas sua aplicação prática vai muito além de uma boa organização — ela reflete maturidade, clareza de raciocínio e visão de longo prazo.
O que significa repetir a si mesmo?
Repetição não é apenas copiar e colar. É duplicar regras de negócio, validações, trechos similares com pequenas variações. Isso cria acoplamento invisível: mudar algo em um ponto exige lembrar de mudar em outros, o que quebra a escalabilidade e a confiança na base de código.
Veja este exemplo realista em Java:
public class OrderService {
public double calculateOrderTotal(List<Item> items) {
double total = 0;
for (Item item : items) {
total += item.getPrice() * item.getQuantity();
}
return total;
}
public boolean isOrderEligibleForFreeShipping(List<Item> items) {
double total = 0;
for (Item item : items) {
total += item.getPrice() * item.getQuantity();
}
return total > 100;
}
}
Aqui, o cálculo do total da compra está duplicado. Toda mudança futura (como aplicar desconto, arredondamento ou taxas) exigiria lembrar de modificar dois pontos, o que é frágil e propenso a erro.
Aplicando DRY na prática
Vamos extrair a responsabilidade para um único método reutilizável:
public class OrderService {
public double calculateOrderTotal(List<Item> items) {
return items.stream()
.mapToDouble(item -> item.getPrice() * item.getQuantity())
.sum();
}
public boolean isOrderEligibleForFreeShipping(List<Item> items) {
return calculateOrderTotal(items) > 100;
}
}
Agora, a lógica vive em um único lugar. Se o critério de cálculo mudar, a alteração será centralizada. Isso reduz bugs, melhora testes e mantém o raciocínio consistente e rastreável.
Aplicar DRY demonstra algo que vai além da técnica:
- Clareza de raciocínio: você pensa em termos de estrutura, abstração e reaproveitamento.
- Consciência de manutenção: você protege o futuro do projeto, e de quem vai herdar o código.
- Foco no essencial: você evita ruído desnecessário, mantendo o código legível e direto.
Um código que evita repetições é um código que dá menos trabalho, exige menos explicações e escala melhor.
DRY é maturidade em forma de código
Adotar o princípio DRY significa escolher quando e onde o reaproveitamento traz clareza, segurança e sustentabilidade. É uma das formas mais simples e poderosas de mostrar que você escreve código com visão de equipe.