Re: Replace temp with query
От: sux Земля  
Дата: 06.03.07 11:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Перечитываю тут на досуге "Рефакторинг" Фаулера.

А>Никак не могу понять (скорее, "принять") некоторые рефакторинги, напрямую связанные с ухудшением производительности.

А>Главный пример — 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();
А>}
А>


А>Интересно ваше мнение по поводу того, действительно ли стоит жертвовать производительностью (и не кешировать вычисления в таких случаях в угоду более красивому коду) и положиться на профайлер? Честно говоря, у меня рука бы дрогнула такое написать, но я уже начинаю сомневаться


А>Спасибо!


поясните если неслжно неграмотному (нечитавшему еще Фаулера) смысл данного рефакторинга
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.