Raciocinando para esperar até a terceira vez na Regra de Três?

15

Acabei de encontrar o artigo " Rule of Three " na wikipedia

Rule of three is a code refactoring rule of thumb to decide when a replicated piece of code should be replaced by a new procedure. It states that the code can be copied once, but that when the same code is used three times, it should be extracted into a new procedure. The rule was introduced by Martin Fowler in Refactoring and attributed to Don Roberts.

Eu sei que isso é apenas uma regra prática, mas por que é recomendável refatorar somente após a segunda duplicação? Existe alguma desvantagem em refatorar quando escrevemos a primeira duplicação?

    
por Louis Rhys 08.05.2013 / 04:32
fonte

1 resposta

14

Acho que essa regra existe porque é fácil ser pego tocando "E se ..." ao projetar o código pela primeira vez ou após a primeira duplicação. Eu encontrei uma paralisia de análise severa em alguns casos porque as pessoas começaram a projetar a funcionalidade que pode ser necessária mais tarde. Mas não é necessário para o problema imediato em mãos.

Existe uma arte para projetar / escrever somente o que você precisa, enquanto mantém o código acessível para re-fatoração futura.

    
por 08.05.2013 / 05:05
fonte