ПредлОжите свой вариант, или "времени многа нада"?
На php - да, время надо, чтобы все аккуратно сделать, так как на нем не пишу. А на C# могу быстро сделать код, который делает то же самое, что у вас.

Продолжайте скромничать...
Ну я же не могу рабочий код выкладывать, NDA все-таки.

не изменился
А как же 3*4?

А что он "указывает"?!
Ни-че-го. Остается только брать отладчик в руки и вперед.

метод делает проверки ровно те, и ровно в том порядке, в котором они востребованы... нафига я должен вставлять ДОПОЛНИТЕЛЬНЫЙ код?!?
Я передам $old_y == 0. И у вас выполнится лишняя работа: && abs($rx=(double)$new_x/(double)$old_x) > self::EQUAL_ZERO. Ну и где ваши оптимизации, чтобы лишний код не выполнялся?

Раз в исходном коде стоит @round(), стало быть где-то вполне возможно деление на ноль...
Э-э-э, гм :безум: а если @round($x*$y), то $x, $y тоже будете проверять? Всегда думал, что деление на 0 там, где деление!

Вы предлагаете мне прошерстить все мегабайты исходников?!?
У вас такая связность кода???

у нас с Вами разное понимание "ГК"
Очевидно.

мне как-то не сложно разбираться пусть и плохо структруированном, но эффективно работающем коде...
Наверное, у вас просто маленький объем кода. А я предпочту код с требованиями, хорошим дизайном, чисто, красиво написанный, документированный, оттестированный и оптимизированный ровно в тех местах, где это реально требуется.

об этом и завел речь в части деградации ИТ отрасли
ИТ-отрасль на подъеме, какая деградация? Не надо судить по своим коллегам, тем более, что вы же их и нанимали. И сами подумайте, пойдет к вам профи работать? Ваш удел - самоделкины да студенты. Поднимайте уровень культуры разработки в своей команде хотя бы по тесту Джоэля до 10 из 12, тогда и студенты толковые к вам будут идти, а не всякий шлак. Ну и Касьянов с Дейкстрой, конечно, авторитеты, "но слишком хрустальные". (c)

who | grep -i blonde | date; cd ~; unzip; touch;
strip; finger; mount; gasp; yes; uptime; umount;