2.1 KiB
2.1 KiB
#рефакторинг #методы_рефакторинга
Проблема
Код легче понять, когда связанные друг с другом фрагменты находятся рядом.
const pricingPlan = retrievePricingPlan();
const order = retreiveOrder();
let charge;
const chargePerUnit = pricingPlan.unit;
Решение
Если несколько строк кода обращаются к одной и той же структуре данных, то лучше, чтобы они были вместе, а не были перемешаны с кодом, обращающимся к другим структурам данных
const pricingPlan = retrievePricingPlan();
const chargePerUnit = pricingPlan.unit;
const order = retreiveOrder();
let charge;
Порядок рефакторинга
- Определите целевое местоположение для перемещения фрагмента кода. Изучите инструкции между исходным и целевым местоположениями, чтобы увидеть, нет ли каких-то помех для кандидата на перемещение. Если таковые имеются — откажитесь от дальнейших действий.
- Вырежьте фрагмент из исходного местоположения и вставьте его в целевую позицию.
Борется с запахом
- Дублируемый код
- Большой класс
- Расходящиеся изменения
- Группы данных
- Одержимость примитивами
- Временное поле
- Неуместная близость
