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

    −143

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    $minfts = $maxfts = undef;
    $c=$l=$x=$z=0;
    while (($id, @a) = $sth->fetchrow_array) {
        $l++;
        next unless defined($t{$a[1]});
        $c++;
        $s{$id} = [$r, $id, @a];
        $x++ if $s{$id}{rc} && !$s{$id}{rm};
        $z++ if $s{$id}{rm};
        $s{$id}{t} = $t{$s{$id}{tid}};
        $s{$id}{bonuses} = 0;
        push @{$sid{$s{$id}{sid}}}, $id;
        ### PATCH3 ###
        $sid2pid{$s{$id}{sid}} = $s{$id}{id2};
        ### END PATH3 ###
        $minfts = $s{$id}{sd} if !defined($minfts) || $s{$id}{sd}<$minfts;
        $maxfts = $s{$id}{ed} if !defined($maxfts) || ($maxfts && $s{$id}{ed}>$maxfts) || !$s{$id}{ed};
    }
    $sth->finish;
    $l-=$c;

    Минимализм в название переменных

    Запостил: ptaag, 09 Июля 2014

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

    • > ### PATCH3 ###
      И в использовании VCS видимо тоже минимализм...

      Автору кода -- пальцы под косяк двери и закрыть.
      Ответить
      • >> ### PATCH3 ###
        >> ### END PATH3 ###
        Видимо, его руки под косяком уже побывали.
        Ответить
    • $c=$l=$x=$z=0

      бусинки!
      Ответить
    • Очень похоже на мой стиль, правда я настолько длинных имен переменных не создаю как $minfts - зачем 6 символов, там где можно обойтись 1-3?
      Ответить
      • действительно 3 символов хватит на 27^3 = 19683 переменных, нафиг больше
        Ответить
        • А если использовать цифры, то будет дополнительно ещё 27×37×37 = 36936 переменных, итого 56646.
          Ответить
          • почему еще? всего 36936
            Ответить
            • Точно! Я размечтался, что смогу создать 50 килопеременных, и поэтому прибавил.

              А что же делать? Добавить заглавные буквы?
              Ответить
              • тогда 53*63 *63 = 210357
                это еще без русских
                Ответить
                • Спасибо! Это то, что надо. 100500 переменных помещается.

                  Теперь нужно написать хэш-функцию, которая из длинного названия переменной генерирует трёхсимвольное.
                  Ответить
                  • тут надо многоступенчатую функцию. Типа если коллизия - переходим на следующий способ хеширования
                    Ответить
                    • Да, если два значения вореции совпадают, отнимем минус десять отнимем и попытаемся сжать снова сжать.
                      Ответить
                      • отнимем минус десять - так и пиши - прибавим 10 букв случайных)
                        Ответить
                  • мы еще не учли 2 и однобуквенные имена

                    1 - если в переменной больше 1 заглавной - используем первые три заглавные (или две)
                    2 - если меньше 2 заглавных - первые 3 солгасные
                    Ответить

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