0
Answered

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

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

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