1. C++ / Говнокод #4019

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    float size = xLabelItemHeight + xLabelItem2Height + xLabelItem3Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
    if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    {
    	size = xLabelItemHeight + xLabelItem2Height + xLabelItem4Height + xTickItem_->tickSize() + tickGap();
    	if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    	{
    		size = xLabelItemHeight + xLabelItem2Height + xTickItem_->tickSize() + tickGap();
    		if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    		{
    			size = xLabelItemHeight + xTickItem_->tickSize() + tickGap();
    			if(f1 * (powerAxis_->screenMin() - powerAxis_->screenMax()) < f2 * size)
    			{
    // а дальше ничего не важно.

    Ну что, мои находки всё так же унылы?

    Запостил: Altravert, 18 Августа 2010

    Комментарии (5) RSS

    • Ах да, вроде бы скорость тут ПИЗДЕЦ КАК критична. Все вызванные здесь функции -- акцессоры (подсчетов в них нет вообще).
      Ответить
    • Много одинаковых сложений/умножений.
      Если screenMin(), screenMax() и прочее не изменяется можно было сделать константами.
      На крайний случай объявить как inline.
      float лучше заменить на double.
      Ответить
      • Не, они конечно изменяются, но очень редко и клиентским кодом.
        А float на double это старый холивар)) Но мне дабл больше нравится, хотя весь проект на флоатах.

        Кстати, складывается/умножается большая часть одно и то же.
        Ответить
    • А мне сначала показалось, что этот код автоматом сгенерен какой-то рисовалкой интерфейсов.
      Ответить

    Добавить комментарий