2.8 KiB
2.8 KiB
#рефакторинг #методы_рефакторинга
Проблема
У вас есть временная переменная, которой присваивается результат простого выражения (и больше ничего)
hasDiscount(order: Order): boolean {
let basePrice: number = order.basePrice();
return basePrice > 1000;
}
Решение
Замените обращения к переменной этим выражением.
hasDiscount(order: Order): boolean {
return order.basePrice() > 1000;
}
Причины рефакторинга
Переменные предоставляют имена для выражений внутри функции, и поэто му они обычно являются Полезными Вещами. Но иногда в действительности имя не говорит больше, чем само выражение. В других случаях вы можете обнару жить, что переменная мешает рефакторингу соседнего кода. В этих случаях может быть полезно встроить переменную.
Достоинства
- Если переменной присваивается результат выполнения какого-то метода, у вас есть возможность немного улучшить читабельность программы, избавившись от лишней переменной
Недостатки
- Иногда с виду бесполезные временные переменные служат для кеширования, то есть сохранения результата какой-то дорогостоящей операции, который будет в ходе работы использован несколько раз повторно. Перед тем как осуществлять рефакторинг, убедитесь, что в вашем случае это не так
Порядок рефакторинга
- Найдите все места, где используется переменная, и замените их выражением, которое ей присваивалось
- Удалите объявление переменной и строку присваивания ей значения
