1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #14390

    +151

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // Convert parameter fields to objects.
    $registry = new JRegistry;
    $registry->loadString($data->attribs);
    
    $data->params = clone $this->getState('params');
    $data->params->merge($registry);
    
    $registry = new JRegistry;
    $registry->loadString($data->metadata);
    $data->metadata = $registry;

    В недрах Joomla
    /components/com_content/models/article.php

    Либо я что-то не понимаю, либо...

    psycho-coder, 20 Января 2014

    Комментарии (6)
  3. C++ / Говнокод #14383

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    auto q = db.exec("select name from sqlite_master where type='table'");
    QStringList tables;
    while(q.next()) {
        tables.append(q.value(0).toString());
    }
    if(tables.contains("searchIndex")) {
        types.insert(name, DASH);
    } else {
        types.insert(name, ZDASH);
    }

    Табличек в sqlite скорее всего мало и код должен работать довольно шустро.
    Но сам подход достоен QHP

    https://github.com/jkozera/zeal/blob/master/zeal/zealdocsetsregistry.cpp#L27

    roman-kashitsyn, 18 Января 2014

    Комментарии (6)
  4. Куча / Говнокод #14373

    +127

    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
    % restarter.erl
    
    -module(restarter).
    % Save it to restart the node!
    
    % где-то в коде при запуске приложения
       ....
       ok = sync:go(),
       sync:onsync(fun(Mods) ->
                    case lists:member(restarter, Mods) of
                        true -> 
                            lager:warning("Restarting node!"),
                            init:restart(); 
                        _ -> ok
                    end  
                end),
       ....

    Клуб веселых и находчивых эрлангеров.
    Придумал такую фичу: если мне во время разработки надо перезапустить тестовую ноду, я просто жму сохранить в открытом файле restarter.erl
    Sync подхватывает пересохраненный файл, компилит его и вызывает коллбэк со списком измененных модулей. Собственно, если рестартер среди них, то нода перезапускается :)

    tirinox, 16 Января 2014

    Комментарии (6)
  5. Python / Говнокод #14214

    −98

    1. 1
    settings =  [int(value, 16) for value in ('09', '0b', '0d', '0f')]

    lig, 11 Декабря 2013

    Комментарии (6)
  6. PHP / Говнокод #14206

    +154

    1. 1
    2. 2
    if (!empty($_GET[ret])) $_SESSION[ret] = $_GET[ret];
    else if (!empty($_SESSION[ret])) $_GET[ret] = $_SESSION[ret];

    Из разряда черной магии

    psycho-coder, 10 Декабря 2013

    Комментарии (6)
  7. PHP / Говнокод #14182

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    abstract class Service_Gallery_Work extends Form_Service {
    
        public static function factory($object, $model_name = NULL)
        {
            return new self($object, $model_name);
        }
    ...

    ХИТ

    invision70, 05 Декабря 2013

    Комментарии (6)
  8. PHP / Говнокод #14169

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    $_where = array();
    $_where[] = "`activity` = 'active'";
    $_where[] = "`counter_of_waiting_questions` = '0'";
    $_where = implode(' AND ', $_where);

    g0rky, 03 Декабря 2013

    Комментарии (6)
  9. PHP / Говнокод #14151

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <a href="<?
    $p=explode("p=",$_SERVER['HTTP_REFERER']);
    $p=explode("&",$p[1]);
    
    if(is_int($p[0]) && empty($p[0]))echo $_SERVER['HTTP_REFERER'];
    else echo'/?p=search2&d='.$_GET[d].'&g='.$_GET[g]; 
    ?>"  class="top_s">← назад</a>

    psycho-coder, 28 Ноября 2013

    Комментарии (6)
  10. PHP / Говнокод #14145

    +159

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    // выбираем случайные категории
            $sql="
                  SELECT `id`
                  FROM `category`
                  WHERE id>=(SELECT ROUND(RAND()*(SELECT COUNT(*) FROM `stat`)))
                  limit ".$this->limit;
            $arr=Yii::app()->db->createCommand($sql)->query();
    
            // в nn будем хранить строку вида a,b,...,e где abc -цифры
            // позже мы скормим это в условие для sql запроса, это самый простой способ
            $nn='';
    
            foreach ($arr as $val){
                $nn.=$val['id'].',';
            }
    
            //добавим в конце строки "end", чтобы избавиться от лишней запятой
            $nn.='END';
    
            // выбираем пользователей из случайных категории, сгенерированных ранее
            $sql="
                  SELECT name, category_id, COUNT(category_id) AS total
                    FROM `stat`
                        JOIN `category` as C
                        WHERE C.id=category_id AND C.id in (".str_replace(',END','',$nn).")
                    GROUP BY category_id
                    limit ".$this->limit;
            $arr=Yii::app()->db->createCommand($sql)->query();

    Сказочный говнокод. Сохранены авторские комментарии.

    SunnyMagadan, 27 Ноября 2013

    Комментарии (6)
  11. Куча / Говнокод #14126

    +120

    1. 1
    http://cs409725.vk.me/v409725134/612b/bo_sT8EuYK4.jpg

    LispGovno, 22 Ноября 2013

    Комментарии (6)