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