Acabei de encontrar o artigo " Regra dos Três " na wikipedia
A regra de três é uma regra prática de refatoração de código para decidir quando um trecho de código replicado deve ser substituído por um novo procedimento. Ele afirma que o código pode ser copiado uma vez, mas que quando o mesmo código é usado três vezes, deve ser extraído para um novo procedimento. A regra foi introduzida por Martin Fowler na refatoração e atribuída a Don Roberts.
Sei que isso é apenas uma regra de ouro, mas por que é recomendável refatorar somente após a segunda duplicação? Existe alguma desvantagem na refatoração quando escrevemos a primeira duplicação?
refactoring
dry
rule-of-three
Louis Rhys
fonte
fonte
Respostas:
Eu acho que essa regra geral existe porque é fácil ser pego jogando "What if ..." ao projetar o código pela primeira vez ou após a primeira duplicação. Eu encontrei uma paralisia severa na análise em alguns casos porque as pessoas começaram a projetar funcionalidades que podem ser necessárias mais tarde. Mas não é necessário para o problema imediato em questão.
Existe uma arte para projetar / escrever apenas o que você precisa, mantendo o código passível de recálculo futuro.
fonte