При реалізації в коді схожої функціональності часто виникає бажання прискорити написання коду за допомогою copy-paste. Таке прискорення призводить до низки негативних наслідків таких,як:
1) код функцій стає занадто довгим, що ускладнює його розуміння колегами та і автором через деякий час;
2) ускладнюється тестування коду;
3) за необхідності змінити невелику частину коду треба передивлятись решту "подібного" розмноженого коду.
Наприклад, візьмемо функцію-обчислювач для реалізації калькулятора: