Base/Knowledges/IT/Рефакторинг/Методы рефакторинга/Замена встроенного кода вызовом функции (Replace Inline Code with Function Call).md
2026-02-23 19:52:05 +03:00

27 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#рефакторинг #методы_рефакторинга
![[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]]