devterview_$ iniciar simulação

DRY tem limite: acoplamento por coincidência

MédioPlenoDesign

Pergunta

Por que aplicar DRY (não se repita) cedo demais pode ser pior do que um pouco de duplicação?

Resposta esperada

DRY é sobre não duplicar conhecimento — uma regra de negócio deve ter uma única fonte da verdade. O erro é aplicar DRY a código que apenas parece igual agora: você extrai uma função/abstração compartilhada e amarra dois usos que evoluem por razões diferentes. Semanas depois, um dos lados precisa de uma variação, e a abstração ganha um parâmetro booleano, depois outro, até virar um emaranhado que serve mal aos dois. O conselho de Sandi Metz — 'duplicação é mais barata que a abstração errada' — e a regra prática 'espere o terceiro caso' existem por isso. Duplicar duas vezes e esperar o padrão real emergir custa menos que desamarrar uma abstração prematura.

Por que perguntam isso

Pergunta pleno/sênior. Termos que indicam leitura de verdade: 'acoplamento por coincidência', a citação da Sandi Metz, a regra do terceiro caso.

#dry#abstracao#acoplamento
publicidade

Relacionadas