1. Perl / Говнокод #3264

    −125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    while (my $t = $tix->RT::SearchBuilder::Next) {  # BLOODY HACK
            my $when = $t->ResolvedObj->Unix - $t->CreatedObj->Unix;
            next unless $when > 0; # Doubly bloody hack
            my $max = (60*60*24*2) / 1800;
            my $x = int($when / 1800);
            $counts[$x > $max ? $max : $x]++;
        }

    Нашел в коде RTx Statistics - расширения для CRM Request Tracker: http://wiki.bestpractical.com/view/RT3StatisticsPackage

    Запостил: del, 19 Мая 2010

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

    • кровавый хэк... нокдаун...
      еще один кровавый хэк... нокаут...
      ой, и у перла есть свой маленький Юникс???
      Ответить
      • ResolvedObj и CreatedObj - объекты типа, отображающего дату/время. Unix возвращает время в unix time.
        Ответить
      • bloody с британского на английский будет fucking
        Ответить
    • кроме my $max = (60*60*24*2) / 1800; в цикле, ничего смешного не нашел. Да и это не смешно вообще-то. :(
      Ответить
      • перла умный аднака, я верю что он соптимизирует это место
        Ответить
        • верьте

          for (1..10000000)
          {
          my $max = (60*60*24*2) / 1800;
          my $a = $max;
          }

          $ time perl test.pl
          real 0m4.071s

          my $max = (60*60*24*2) / 1800;
          for (1..10000000)
          {
          my $a = $max;
          }

          $ time perl test.pl
          real 0m2.204s
          Ответить
          • Блин. Тупая перла.
            Ответить
          • И? В одном цикле Вы внутри считаете каждый раз, во втором -- только присваиваете. В чем profit?
            Ответить

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