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

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

    +133

    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
    public bool SelectUserGroup(string UserName,string GroupName)
    {
        try
        {
            return true;
        }
        catch
        {
            return false;
        }
    }
    
    public KUser GetUserByKey(Guid Key)
    {
        try
        {
            return new KUser();
        }
        catch
        {
            return new KUser();
        }
    }

    Особая защита от исключительных ситуаций. Взято из реального проекта.

    Zergatul, 05 Мая 2011

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

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    foreach (int i in new int[] {1, 2, 3, 4, 5}) 
    {
         //Какие-то действия
    }

    Правильный for в C#
    http://2lx.ru/2010/03/pravilnyj-for-v-c/

    zheka, 04 Мая 2011

    Комментарии (22)
  4. Pascal / Говнокод #6476

    +87

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // очистка stringGrid1
    for q:= 0 to stringgrid1.RowCount do
       for qq:= 0 to stringgrid1.colCount do
      stringgrid1.cells[qq,q]:='';
    //********

    "Отличный" способ очистить огромную таблицу.

    black_dez, 26 Апреля 2011

    Комментарии (22)
  5. JavaScript / Говнокод #6446

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var Nothing = function () { return Nothing; }
    
    var NewNothing = new new new new new Nothing();
    
    console.log(NewNothing == Nothing); // true

    Небольшая фантазия. Но работает!)

    Shock, 22 Апреля 2011

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

    +163

    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
    <?
    $cont = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp");
    $pattern = "/<CharCode>(.*?)<\/CharCode>\s*<Nominal>(.*)<\/Nominal>\s*<Name>(.*)<\/Name>\s*<Value>(.*)<\/Value>/im";
    
    $cnt =  preg_match_all($pattern,$cont,$matches);
    
    if($cnt != FALSE)
    {
      
      $count_currencies = count($matches[1]);
    
      for($i=0;$i<$count_currencies;$i++)
      {
        $curr_abbr = $matches[1][$i];
        $curr_nominal = $matches[2][$i];
        $curr_name = $matches[3][$i];
        $curr_value = $matches[4][$i];
        
        echo "$curr_abbr - $curr_nominal - $curr_name - $curr_value <br>";
      } // for
      
    } // if($cnt != FALSE)
    ?>

    после сдачи сайта разраб CMS спешно уволился.

    RomaShka, 20 Апреля 2011

    Комментарии (22)
  7. JavaScript / Говнокод #6368

    +152

    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
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    unction Checkbutton ($url) {
    global $code;
    $url_0 = substr($url, 7);
    $url_1 = explode(".", $url_0);
    $v = count($url_1) - 2;
    $b = count($url_1) - 1;
    $url_2 = explode("/", $url_1[$v]);
    $url_3 = explode("/", $url_1[$b]);
    $url_con[0] .= "$url_1[0].";
    for ($i=1; $i < count($url_1) - 2; $i++) {
    $url_con[0] .= "$url_1[$i].";
    }
    $url_con[0] .= $url_2[0];
    $url_con[1] .= "$url_1[0].";
    for ($i=1; $i < count($url_1) - 1; $i++) {
    $url_con[1] .= "$url_1[$i].";
    }
    $url_con[1] .= $url_3[0];
    if (@fsockopen($url_con[0], 80)) {
    $url_connect = $url_con[0];
    @fclose($url_con[0]);
    } else if (@fsockopen($url_con[1], 80)) {
    $url_connect = $url_con[1];
    @fclose($url_con[1]);
    }
    if ($fsock = @fsockopen($url_connect, 80, $errno, $errstr)) {
    fputs($fsock, "GET $url HTTP/1.0\r\n\r\n");
    while (!feof($fsock)) {
    $result .= fgets($fsock,100);
    }
    fputs($fsock, "Connection: close\r\n\r\n");
    fclose($fsock);
    if (!preg_match("/$code/i", "$result")) {
    $error = "<center><font color=red>На странице нашего баннера нет</font></center>";
    return $error;
    }
    } else {
    $error = "<center><font color=red>Невозможно подключиться к серверу</font></center>";
    return $error;
    }

    хз,в инете наткнулся случайно на скипт

    BlackMonolit, 15 Апреля 2011

    Комментарии (22)
  8. C++ / Говнокод #6206

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    const char * strtime(const time_t * t){
    	tm tt;
    	const int dt_len = 60;
    	char str_dt[dt_len];
    	localtime_r(t, &tt);
    	strftime(str_dt, dt_len, "%d.%m.%Y %H:%M:%S", &tt);
    	std::string str(str_dt);
    	return str.c_str();
    }

    Код, как ни странно, работал несколько лет, пока проект не трогали и байты не сместились. Неудивительно, что код вместо времени стал возвращать имя функции, из которого вызывался.

    Deacon, 04 Апреля 2011

    Комментарии (22)
  9. Java / Говнокод #6015

    +82

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    int cont = 1;
    String d01 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    String d02 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    ....
    String d36 = turnsSubscribedByUsers.contains(cont++) ? "S" : "N";
    
    ...
    
    os.write(d01.getBytes("UTF-8"));
    os.write(d02.getBytes("UTF-8"));
    ...
    os.write(d36.getBytes("UTF-8"));

    Генерация какого-то файла :)

    voice, 17 Марта 2011

    Комментарии (22)
  10. Си / Говнокод #5832

    +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
    static void jz_update_dram_prev(unsigned int cur_mclk, unsigned int new_mclk)
    {
            /* No risk, no fun: run with interrupts on! */
            if (new_mclk > cur_mclk) {
                    /* We're going FASTER, so first update TRAS, RCD, TPC, TRWL
                     * and TRC of DMCR before changing the frequency.
                     */
                    jz_update_dram_dmcr(new_mclk);
            } else {
                    /* We're going SLOWER: first update RTCOR value
                     * before changing the frequency.
                     */
                    jz_update_dram_rtcor(new_mclk);
            }
    }

    Кусок кода из официального™ китайского дерева исходников Линукса для одного System-on-Chip.

    Реализует поддержку динамического изменения частоты процессора, а приведенная функция меняет тайминги для памяти (как обычно, весьма альтернативным способом). Что характерно, это вполне себе работает на реальном железе, и вроде бы оно у меня в этом куске ни разу не падало.

    whitequark, 01 Марта 2011

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

    +167

    1. 1
    $new = preg_replace("/((\[{1}[^\[\]]+\]{1})|(\[{1}\]{1}))/", "", $a);

    метод тыка.... зато работеат

    Sulik78, 18 Февраля 2011

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