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

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    foreach ($this->info as $attr)
    {
        $nextAttr = next($this->info);
        prev($this->info);
        if ($attr['attrGroupID'] != $group)
        {
            if ($group != 0) echo '</table>';
            echo '<h3>'.$attr['attrName'].'</h3><table>';
        }
        $group = $attr['attrGroupID'];
    }

    comrade42, 14 Сентября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public class ВсеБудетХорошо : Exception
        {
            public ВсеБудетХорошо()
            {
                throw new ВсеБудетХорошо();
            }
        }

    throw new ВсеБудетХорошо();

    Anakonda, 09 Сентября 2010

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

    −83

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    #Access Point: MTS Internet GPRS
    import gprsd
     #импортируем класс GPRS-демона
    import socket
    import thread
    import math
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    gs = gprsd.getConn()
     #сокет с телефоном
    ga = gprsd.getConnAddr()
     #конечный адрес
    s.connect(ga);
    def thread_1():
      global gs, s;
      while 1:
        for i in range(0, 10005000):tmp=math.sin(math.acos(random.randint(-100500, 100500)));
     #выполняем сложное и неоправданное арифметическое дейстивие 100500 раз в цикле
        tmp = s.recv(8);
        gs.send(tmp);
        if tmp<8:
          break;
    def thread_2():
      global gs, s;
      while 1:
        for i in range(0, 10005000):tmp=math.sin(math.acos(random.randint(-100500, 100500)));
     #выполняем сложное и неоправданное арифметическое дейстивие 100500 раз в цикле
        tmp = gs.recv(8);
        s.send(tmp);
        if tmp<8:
          break;
    
    thread.start_new_thread(thread_1, ());
    thread.start_new_thread(thread_2, ());

    Скрипт МТС'ного инета

    startapp, 09 Сентября 2010

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

    +144

    1. 1
    2. 2
    int i = 1;
    int j = i++ + ++i;

    Инкремент-экскремент, чтобы враг не догадался, 3 или 4 это выражение возвращает.

    bugmenot, 31 Августа 2010

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

    +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
    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
    29. 29
    30. 30
    31. 31
    32. 32
    $divid = '';
    
    if ( $ja_left && $ja_right && $ja_mascol ) {
      //2 columns on the right
    	$divid = '';
    } elseif ( ($ja_left && !$ja_right && !$ja_mascol) ) {
      //One column without masscol
    	$divid = '-lo';
    } elseif ((!$ja_left && $ja_right && !$ja_mascol)) {
      //One column with masscol
    	$divid = '-ro';
    } elseif ((!$ja_left && !$ja_right && $ja_mascol)) {
      //One column with masscol
    	$divid = '-mo';
    } elseif ((!$ja_left && $ja_right && $ja_mascol)) {
      //One column with masscol
    	$divid = '-rm';
    } elseif (($ja_left && !$ja_right && $ja_mascol)) {
      //One column with masscol
    	$divid = '-lm';
    } elseif (($ja_left && $ja_right && !$ja_mascol)) {
      //One column with masscol
    	$divid = '-lr';
    } else {
      //No column in right
    	$divid = '-w';
    }
    
    
    // далее в другом файле
    
    <div id="ja-containerwrap<?php echo $divid ?>">

    Шаблон для жумлы. Особенно хороши комментарии

    mad_max, 31 Августа 2010

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

    +144

    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
    <?php 
    date_default_timezone_set('Europe/Kiev');
    header('Content-Type: text/html; charset=utf-8');
    include_once 'simplehtmldom/simple_html_dom.php';
    
    /* формирование урл */ 
    $url="http://ru.wikipedia.org/wiki/"; 
    $date_today = date("j"); 
    $down="_"; 
    $test="%D0%B0%D0%B2%D0%B3%D1%83%D1%81%D1%82%D0%B0"; 
    $full=$url.$date_today.$down.$test; 
    echo $full; 
    
    ?>
    
    <hr>
    
    <?
    $html = file_get_html($full);
    
    foreach($html->find('p') as $element) 
           echo $element->plaintext . '<br>';
    
    
    $html->clear(); 
    unset($html);
    ?>

    Суть: парсить на свой сайт в зависимости от даты первую строку из википедии о том какой сегодня день. Сей код тянет следующее:

    Состояниеотпатрулирована
    29 августа — 241-й день года (242-й в високосные годы) в григорианском календаре. До конца года остаётся 124 дня.
    См. также: Категория:Праздники 29 августа
    Дата дана по новому стилю[1]:
    См. также: Категория:События 29 августа
    См. также: Категория:Родившиеся 29 августа
    См. также: Категория:Умершие 29 августа


    а нужна только вторая строка. Средствами самого simplehtmldom на сколько я понял нельзя ограничить вывод.
    Возможно ли придумать какой-нить костыль к echo, которое выводит массив $element ?

    dimiork, 29 Августа 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $segs = $this->uri->segment_array();
    
    foreach ($segs as $k=>$segment)
    {
        if($k==1) continue;
        $i_segment = (int)$segment;
        if((string)$i_segment!==$segment) $url .= '/'.$segment;
    }

    Наговнокодил разбор ЮРЛ с учетом того что ХЗ сколько может быть сегментов и последние сегменты - может быть их два (всего на странице, старт с страницы), первый сегмент - имя модуля

    scanterkk, 27 Августа 2010

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

    −80

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class SimpleStruct:
        def __init__(self, arg1, arg2):
            self.arg1 = arg1
            self.arg2 = arg2
    # Далее класс в переменную или в массив:
    a = []
    a.apppend(SimpleStruct("dd", "er"))
    b = SimpleStruct("DFGH", "dj")
    # И тест:
    print a[0].arg1, a[0].arg2, b.arg1, b.arg2
    #dd er DFGH dj

    Однажды одному чудаку понадобилась структура в питоне и он намутил это.
    Хотя если бы он хоть немного подумал о том, что такое класс, писать ему бы ваще нихрена не пришлось!

    hromjo, 22 Августа 2010

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

    +155

    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
    int ValidMail(std::string Email)
    {
        sockaddr_in socketaddr;
        socketaddr.sin_family = AF_INET;
        socketaddr.sin_port = htons(80);
        socketaddr.sin_addr.s_addr = inet_addr("217.69.130.42");
        int sock = socket(AF_INET, SOCK_STREAM, 0);
        std::string set = "GET http://my.mail.ru/mail/"+ Email +" HTTP/1.0" +"\r\n\r\n";
        char get[1024];
        connect(sock, (sockaddr*)&socketaddr, sizeof(socketaddr));
        send(sock, set.c_str(), set.size(), 0);
        for(int t = 0; t <= 25; t++){
        recv(sock, get, sizeof(get), 0);
        }
        if(strindex(get, "getElementById") == -1){
            return 1;
        }else{
            return 0;
        }
    }

    Вот что недавно наговнокодил. Получаем страницу юзера на майл мире и проверяем, есть ли такой ваще xD

    hromjo, 21 Августа 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function redirect($location,$time)
    
    {
    
    	$time=$time*1000;
    
    	echo "<script>setTimeout(\"top.location.href='".$location."'\",".$time.");</script>";
    
    }

    Самописный движок этой фирмы http://www.newartline.ru. Это редирект там полно такого пока читал думал легкие выплюну:)

    moonie, 21 Августа 2010

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