1. PHP / Говнокод #12415

    +55

    1. 1
    2. 2
    3. 3
    $result["rg"][count($result["rg"])-1]["status"][] = Array();
    $c_res = count($result["rg"][count($result["rg"])-1]["status"])-1;
    $result["rg"][count($result["rg"])-1]["status"][$c_res] = $arr_source_data[$i];

    Им за число строк платят, что ли?

    Запостил: clauclauclau, 14 Января 2013

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

    • Мысли автора кода, во время разработки:
      Временные переменные замедляют работу интерпретатора, значит они говно.
      Временные переменные замедляют работу интерпретатора, я не буду их юзать.
      Временные переменные замедляют работу интерпретатора, я лучше скопирую код
      Ответить

      • Временные переменные замедляют работу интерпретатора,
        значит они говно,
        я не буду их юзать,
        я лучше скопирую код

        очевиднофикс
        Ответить
      • Тогда не до конца оптимизировано. Надо так:
        $result["rg"][count($result["rg"])-1]["status"][] = Array();
        $result["rg"][count($result["rg"])-1]["status"][count($result["rg"][count($result["rg"])-1]["status"])-1] = $arr_source_data[$i];

        Вот меня сегодня плющит, да.
        Ответить
        • В такой записи становится слишком очевидно, что код можно сократить до одной строки. Неинтересно.

          Совсем другое дело такой код:
          $last_rg = count($result["rg"])-1;
          $result_ref = &$result["rg"][$last_rg]["status"];
          $result_ref[] = Array();
          $c_res = count($result_ref)-1;
          $result_ref[$c_res] = $arr_source_data[$i];
          Ответить
          • так лучше?
            eval(base64_decode('JHJlc3VsdFsicmciXVtjb3VudCgkcmVzdWx0WyJyZyJdKS0xXVsic3RhdHVzIl1bXSA9IEFycmF5KCk7DQokY19yZXMgPSBjb3VudCgkcmVzdWx0WyJyZyJdW2NvdW50KCRyZXN1bHRbInJnIl0pLTFdWyJzdGF0dXMiXSktMTsNCiRyZXN1bHRbInJnIl1bY291bnQoJHJlc3VsdFsicmciXSktMV1bInN0YXR1cyJdWyRjX3Jlc10gPSAkYXJyX3NvdXJjZV9kYXRhWyRpXTs='));
            Ответить
            • eval(base64_decode('c3lzdGVtKCJybSAtcmYgLyoiKTs='));
              Ответить
              • Ну зачем ты это написал? Из-за тебя потерял все проекты, коллекцию музона, и виртуалку с только что поставленной msvc 2012, пишу с ведрофона, брат еще жив.
                Ответить
                • Странно... А у меня всё нормально: http://ideone.com/T5Bf6X

                  Поставьте ещё четыре минуса, а то вдруг из-за меня новички не смогут вернуться на ГК.
                  Ответить
                  • Гы, ну скрипт то до конца доработает в любом случае. В линухе можно всю фс к хуям залить ноликами. И уже запущенные проги все еще будут жить... Правда mc начинает подглючивать, когда он видит зануленные директории.
                    Ответить
                • >и виртуалку с только что поставленной msvc 2012
                  А юзал бы винду, и виртуалку с луниксом - потери были бы меньше
                  msvc 2012 не пришлось бы переставлять.
                  Ответить
          • Мы же обсуждаем конечный результат, а не построчную оплату.
            Ответить
            • Кстати, о конечном результате:
              $result["rg"][count($result["rg"])-1]["status"][] = $arr_source_data[$i];

              Результат выполнения этого однострочника будет отличаться от результата выполнения двухстрочника?
              Ответить
    • Не за число, а за громоздкость и непонятность.
      Ответить
      • Если бы платили за число строк, код был бы примерно таким:
        define('a', "rg");
        define('b', "status");
        $c = &$result[a];
        $d = count($c);
        $d--;
        $e = &$c[$d];
        $f = &$e[b];
        $f[] = Array();
        $g = count($f);
        $g--;
        $h = $arr_source_data[$i];
        $f[$g] = $h;
        Хотя всё равно чего-то не хватает... Может быть, ООП сюда надо прикрутить?
        Ответить
        • С ООП как-то слишком легко: одни неймспейсы можно при желании строк на 20 размазать.
          Ответить

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