Não se preocupar com o design do seu código é como entrar em dívida.

No mundo dos negócios, a maioria das empresas precisa de algum débito para poder funcionar eficientemente.

No entanto, com a dívida vem o pagamentos de juros que, em software, é o custo adicional de manutenção e extensão causada por código demasiadamente complexo.

Você pode suportar um pouco de juros, mas se os pagamentos se tornam muito grandes, você ficará sobrecarregado.

É importante gerenciar a sua dívida, pagando-a aos poucos através de refatoração.

Martin Fowler, em Refactoring