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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. Си / Говнокод #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)
  8. PHP / Говнокод #5716

    +167

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

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

    Sulik78, 18 Февраля 2011

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

    +160

    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
    <?php
    ...
    while (OCIFetch($stmt))
                                        {
                                            $kID = OCIResult($stmt, 'KID');
                                            $kModel = OCIResult($stmt,'KMODEL');
                                            $pName = OCIResult($stmt,'PNAME');
                                            $sWidth = OCIResult($stmt,'SWIDTH');
                                            $sHeight = OCIResult($stmt,'SHEIGHT');
                                            $sRadius = OCIResult($stmt,'SRADIUS');
                                            $kPrice_opt = OCIResult($stmt,'KPRICE_OPT');
                                            $kPrice_rozn = OCIResult($stmt,'KPRICE_ROZN');
                                            $kKolvo = OCIResult($stmt,'KKOLVO');
    echo "                                <tr>
                                            <td align='center'><input type=radio name=tUP value ='$kID'/></td>
                                            <td align='center'>$kID</td>
                                            <td align='center'>$kModel</td>
                                            <td align='center'>",$sWidth,"/",$sHeight,"/",$sRadius,"</td>
                                            <td align='center'>$pName</td>
                                            <td align='center'>$kPrice_opt</td>
                                            <td align='center'>$kPrice_rozn</td>
                                            <td align='center'>$kKolvo</td>
                                            <td align='center'>
                                                <a href='images/kolesa/",$pName,"/",$kModel,".jpeg' rel='lytebox'>
                                                    <img height='20' width='20' src='images/pic.jpg'/>
                                                </a>
                                            </td>
                                        </tr>";
    }
    ....
    ?>

    1_and_0, 07 Февраля 2011

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

    −89

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    try {
    	throw new Exception("TRANSACTION IS OPENED");
    } catch (Exception e) {
    	System.out.println(e.getMessage());
    	e.printStackTrace();
    }

    реальный проект

    3.14159265, 02 Февраля 2011

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

    +121

    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
    public SqlTransaction GetSqlTransaction(string pMd5)
    {
    	if (_connection.State == ConnectionState.Closed)
    	{
    		try
    		{
    			_connection.Open();
    		}
    		catch (SqlException ex)
    		{
    			throw new ApplicationException("Unable to connect to database (" + _connection.DataSource + "/" + _connection.Database + "). Please contact your local IT administrator.", ex);
    		}
    	}
    	else
    	{
    		try
    		{
    			throw new ApplicationException("COUCOU");
    		}
    		catch (ApplicationException ex)
    		{
    			System.Diagnostics.Trace.WriteLine(ex.StackTrace);
    		}
    		sqlTransaction = _connection.BeginTransaction();
    	}
    	return sqlTransaction;
    }

    Код из очередного проекта. А надежда то на коннект все-равно остается! :)

    _Ru55_, 31 Января 2011

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