Про copy-paste у Javascript

При реалізації в коді схожої функціональності часто виникає бажання прискорити написання коду за допомогою copy-paste. Таке прискорення призводить до низки негативних наслідків таких,як:

1) код функцій стає занадто довгим, що ускладнює його розуміння колегами та і автором через деякий час;

2) ускладнюється тестування коду;

3) за необхідності змінити невелику частину коду треба передивлятись решту "подібного" розмноженого коду.

 

Наприклад, візьмемо функцію-обчислювач для реалізації калькулятора:

let result = null; 
 if (operation == '+') {
        result = number1 + number2;
    }
    if (operation == '-') {
        result = number1 - number2;
    }
    if (operation == '*') {
        result = number1 * number2;
    }
....
 }
 
Оптимізація:
 
const ops = {'+': (a,b)=>a+b, '-': (a,b)=>a-b,...} // обчислювач
let op = '-'; // поточна операція
let result = (a.hasOwnProperty(op)) ? a[op](1,2) : null; // обчислити 1-2, якщо реалізовано, інакше - null
                
escort çeşme escort karabük escort kilis escort ıgdır