Программисты знают арифметику!
От: _Maksim_  
Дата: 01.09.04 09:32
Оценка: :))) :)))
Обожаю править баги в чужом коде... такие перлы бывают
сегодня на такое наткнулся:

if (this.type == Operation.OperationSaleType.Refund)
aTax.Amount = aTax.Amount — aTax.Amount * 2;

а чуть дальше еще...
if (this.type == Operation.OperationSaleType.Refund)
op.Fare = op.Fare — op.Fare * 2;

незнаю, может оптимизировать производительность пытался... а может еще чего
Re: Программисты знают арифметику!
От: AndreyFedotov Россия  
Дата: 01.09.04 10:28
Оценка: +2 :))
Здравствуйте, _Maksim_, Вы писали:

_M_>Обожаю править баги в чужом коде... такие перлы бывают

_M_>сегодня на такое наткнулся:

_M_>if (this.type == Operation.OperationSaleType.Refund)

_M_> aTax.Amount = aTax.Amount — aTax.Amount * 2;

_M_>а чуть дальше еще...

_M_>if (this.type == Operation.OperationSaleType.Refund)
_M_> op.Fare = op.Fare — op.Fare * 2;

_M_>незнаю, может оптимизировать производительность пытался... а может еще чего


Ничего ты не понимаешь в тонких корпоративных играх. Он же потом за оптимизацию коде ещё год зарплату будет получать...
Re: Программисты знают арифметику!
От: Sasparella США  
Дата: 01.09.04 14:47
Оценка: +3
Здравствуйте, _Maksim_, Вы писали:

_M_>Обожаю править баги в чужом коде... такие перлы бывают

_M_>сегодня на такое наткнулся:

_M_>if (this.type == Operation.OperationSaleType.Refund)

_M_> aTax.Amount = aTax.Amount — aTax.Amount * 2;

_M_>а чуть дальше еще...

_M_>if (this.type == Operation.OperationSaleType.Refund)
_M_> op.Fare = op.Fare — op.Fare * 2;

_M_>незнаю, может оптимизировать производительность пытался... а может еще чего


Не, имхо читабельность кода повысить.

у меня во некторорых местах написано

val = someotherval — 1 — 1;

Ибо каждая единичка различный смысл несет. Компилятору плевать а человеку помогает.
Re[2]: Программисты знают арифметику!
От: rus blood Россия  
Дата: 01.09.04 10:38
Оценка: +2
Здравствуйте, AndreyFedotov, Вы писали:

AF> Ничего ты не понимаешь в тонких корпоративных играх. Он же потом за оптимизацию коде ещё год зарплату будет получать...


Правильно.

Также, хороший руководитель команды разработчиков всегда имеет в запасе бару баг в коде, о которых еще неизвестно тестерам, чтобы в нужный момент их "вкинуть". И тестировщикам хорошо — план по багам есть, и их активность подавлена. И разработчикам неплохо — баги как бы уже "исскуственные", к тому же — видимость деятельности, нет проблем в планированием...
Имею скафандр — готов путешествовать!
Re[3]: Программисты знают арифметику!
От: Grog13 Финляндия  
Дата: 05.09.04 21:06
Оценка: +2
Здравствуйте, Twirl, Вы писали:

T>Здравствуйте, Sasparella, Вы писали:


S>>Не, имхо читабельность кода повысить.


S>>у меня во некторорых местах написано


S>>val = someotherval — 1 — 1;


S>>Ибо каждая единичка различный смысл несет. Компилятору плевать а человеку помогает.


T>имбо для таких вещей полезнее коментарии не всегда можно без них уследить за мыслью


задефайнить в константы.
имхо, код очень странно смотрится с такими цифрами.

val = someotherval - MY_VAR + WIFES_VAR;
и тишина....... << RSDN@Home 1.1.4 beta 2 rev. 142 >>
Re[2]: Программисты знают арифметику!
От: Privalov  
Дата: 01.09.04 10:47
Оценка: +1
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, _Maksim_, Вы писали:


_M_>>Обожаю править баги в чужом коде... такие перлы бывают

_M_>>сегодня на такое наткнулся:

_M_>>if (this.type == Operation.OperationSaleType.Refund)

_M_>> aTax.Amount = aTax.Amount — aTax.Amount * 2;

_M_>>а чуть дальше еще...

_M_>>if (this.type == Operation.OperationSaleType.Refund)
_M_>> op.Fare = op.Fare — op.Fare * 2;

_M_>>незнаю, может оптимизировать производительность пытался... а может еще чего


AF> Ничего ты не понимаешь в тонких корпоративных играх. Он же потом за оптимизацию коде ещё год зарплату будет получать...


И не только зарплату. Если Amount и Fare имеют тип float, то еще и на округлениях наварят, старательно эту оптимизацию изображая...
Re[2]: Программисты знают арифметику!
От: Twirl Швеция  
Дата: 04.09.04 20:51
Оценка: +1
Здравствуйте, Sasparella, Вы писали:

S>Не, имхо читабельность кода повысить.


S>у меня во некторорых местах написано


S>val = someotherval — 1 — 1;


S>Ибо каждая единичка различный смысл несет. Компилятору плевать а человеку помогает.


имбо для таких вещей полезнее коментарии не всегда можно без них уследить за мыслью
Re: Программисты знают арифметику!
От: Аноним  
Дата: 01.09.04 09:36
Оценка:
Здравствуйте, _Maksim_, Вы писали:

А this.type — это как?
this->type — я еще понимаю...
Re: Программисты знают арифметику!
От: Аноним  
Дата: 01.09.04 09:49
Оценка:
_M_>if (this.type == Operation.OperationSaleType.Refund)
_M_> aTax.Amount = aTax.Amount — aTax.Amount * 2;

aTax.Amount = -aTax.Amount

так уже не катит?
Re: Программисты знают арифметику!
От: Leonid V. Volnin Россия  
Дата: 01.09.04 10:54
Оценка:
Здравствуйте, _Maksim_, Вы писали:

_M_>Обожаю править баги в чужом коде... такие перлы бывают

_M_>сегодня на такое наткнулся:

_M_>if (this.type == Operation.OperationSaleType.Refund)

_M_> aTax.Amount = aTax.Amount — aTax.Amount * 2;

_M_>а чуть дальше еще...

_M_>if (this.type == Operation.OperationSaleType.Refund)
_M_> op.Fare = op.Fare — op.Fare * 2;

_M_>незнаю, может оптимизировать производительность пытался... а может еще чего


ну не скажите, компилятор от мелкомягких это дело просекает и
смело превращает в одну инструкцию
 neg eax

так что такое безобразие в принципе еще допустимо..
best regards, Leonid
Re[2]: Программисты знают арифметику!
От: Pavel Dvorkin Россия  
Дата: 01.09.04 10:54
Оценка:
Привет!

AndreyFedotov wrote:
> Ничего ты не понимаешь в тонких корпоративных играх. Он же потом за оптимизацию коде ещё год зарплату будет получать...

Либо его выгонят раньше, когда его начальник (если он, конечно,
разбирается в деле) это увидит.

--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"
With best regards
Pavel Dvorkin
Re: Программисты знают арифметику!
От: Pavel Dvorkin Россия  
Дата: 01.09.04 10:56
Оценка:
Привет!

_Maksim_ wrote:
>
> if (this.type == Operation.OperationSaleType.Refund)
> aTax.Amount = aTax.Amount — aTax.Amount * 2;
>
> а чуть дальше еще...
> if (this.type == Operation.OperationSaleType.Refund)
> op.Fare = op.Fare — op.Fare * 2;
>
> незнаю, может оптимизировать производительность пытался... а может еще чего

Выскажу одну гипотезу. Значение "2" в этой формуле есть в
действительности величина переменная. Сейчас "2", но может измениться.
Кто там этот Refund знает...

--
With best regards,
Pavel Dvorkin
Posted via RSDN NNTP Server 1.7 "Bedlam"
With best regards
Pavel Dvorkin
Re[2]: Программисты знают арифметику!
От: KaBoom Чехия  
Дата: 01.09.04 11:20
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, _Maksim_, Вы писали:


А>А this.type — это как?

this->>type — я еще понимаю...

Это с#, а не плюсы. ИМХО.
Re[2]: Программисты знают арифметику!
От: s.ts  
Дата: 01.09.04 14:24
Оценка:
Hello, Pavel!

тогда уж
op.Fare = -1*op.Fare;
Posted via RSDN NNTP Server 1.9 beta
Re[3]: Программисты знают арифметику!
От: Сантехник Беларусь  
Дата: 02.09.04 06:13
Оценка:
RB>Также, хороший руководитель команды разработчиков всегда имеет в запасе бару баг в коде, о которых еще неизвестно тестерам, чтобы в нужный момент их "вкинуть". И тестировщикам хорошо — план по багам есть, и их активность подавлена. И разработчикам неплохо — баги как бы уже "исскуственные", к тому же — видимость деятельности, нет проблем в планированием...

Угу, были реально случаи, когда тестерам нашим так и говорили:
"Эээ, нэээ, тарапыцца нэ нада, да. Баги фыксим мэдлынна-мэдлынна, да"
Вызывали?
Re[3]: Программисты знают арифметику!
От: Сантехник Беларусь  
Дата: 02.09.04 06:13
Оценка:
PD>Либо его выгонят раньше, когда его начальник (если он, конечно,
PD>разбирается в деле) это увидит.

Если разбирается, то не выгонит. За сданный прокт без багов денег
уже никто не даст, а вот на дальнейшем багфиксе немножко срубить можно
Вызывали?
Re[2]: Программисты знают арифметику!
От: oRover Украина  
Дата: 04.09.04 20:48
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Привет!


PD>_Maksim_ wrote:

>>
>> if (this.type == Operation.OperationSaleType.Refund)
>> aTax.Amount = aTax.Amount — aTax.Amount * 2;
>>
>> а чуть дальше еще...
>> if (this.type == Operation.OperationSaleType.Refund)
>> op.Fare = op.Fare — op.Fare * 2;
>>
>> незнаю, может оптимизировать производительность пытался... а может еще чего

PD>Выскажу одну гипотезу. Значение "2" в этой формуле есть в

PD>действительности величина переменная. Сейчас "2", но может измениться.
PD>Кто там этот Refund знает...

тогда надо константу делать
... << RSDN@Home 1.1.4 @@subversion >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.