1.6 KiB
1.6 KiB
#рефакторинг #методы_рефакторинга
Проблема
let appliesToMass = false;
for(const s of states) {
if (s === “MA”) appliesToMass = true;
}
Решение
appliesToMass = states.includes(“MA”);
Причины рефакторинга
Функции позволяют упаковывать фрагменты поведения. Это полезно для понимания — именованная функция может объяснить назначение кода, а не его механику. Важно также удалить дублирование: вместо того, чтобы писать один и тот же код дважды, я просто вызываю функцию. Затем, чтобы изменить реализацию функции, мне не нужно отслеживать похожий код для внесения всех изменений. (Возможно, мне придется посмотреть на вызывающие функции, чтобы понять, все ли они должны использовать новый код, но это делается не так часто и выполняется намного проще.)
Порядок рефакторинга
- Замените встроенный код вызовом существующей функции
