Я щойно натрапив на статтю " Правило трьох " у вікіпедії
Правило три - це правило перетворення коду, яке вирішує, коли повторний фрагмент коду слід замінити новою процедурою. У ньому зазначається, що код можна скопіювати один раз, але що коли той самий код використовується тричі, його слід витягти в нову процедуру. Це правило було введене Мартіном Фаулером в Refactoring і приписувалося Дон Робертсу.
Я знаю, що це лише велике правило, але чому його рекомендують проводити рефактор лише після другого дублювання? Чи є якісь недоліки у рефакторингу, коли ми пишемо перше дублювання?