Здравствуйте, Аноним, Вы писали:
А>Перечитываю тут на досуге "Рефакторинг" Фаулера.
А>Никак не могу понять (скорее, "принять") некоторые рефакторинги, напрямую связанные с ухудшением производительности.
А>Главный пример — subj.
А>Автор предлагает следующий фрагемент кода
А>А>double C::f()
А>{
А> double tmp = a_ * b_;
А> if (tmp > 10)
А> return tmp * 0.5;
А> else
А> return tmp;
А>}
А>
А>изменить на такой:
А>А>double C::ab()
А>{
А> return a_ * b_;
А>}
А>double C::f()
А>{
А> if (ab() > 10)
А> return ab() * 0.5;
А> else
А> return ab();
А>}
А>
А>Интересно ваше мнение по поводу того, действительно ли стоит жертвовать производительностью (и не кешировать вычисления в таких случаях в угоду более красивому коду) и положиться на профайлер? Честно говоря, у меня рука бы дрогнула такое написать, но я уже начинаю сомневаться
А>Спасибо!
поясните если неслжно неграмотному (нечитавшему еще Фаулера) смысл данного рефакторинга