0
Відповідь надано

Дополнение про "Replace Temp with Query"

Roman Revin 10 років тому оновлений 10 років тому 5
Возможно ли дополнить статью Replace Temp with Query разделом с подводными комнями? Навскидку: при замене на метод теряется возможность модифицировать коэффициент, который находится в переменной. 
Розглядається
Хм, а почему теряется? Вы можете менять коэффициент в новом выделенном методе, не так ли?
function basePrice() {
    return $this->quantity * $this->itemPrice;
}
Пример явно подразумевает что вычисления происходят каждый раз при вызове метода. Если усложнять его добавлением контейнера для хранения результата, добавлять метод для модификации, это уже попахивает избыточностью кода.
Спасибо, теперь понял о чём вы. Добавил такой параграф в раздел о производительности:

"Тем не менее, если ваша временная переменная служит для кеширования результата действительно трудоёмкого выражения, имеет смысл остановить этот рефакторинг после выделения выражения в новый метод."