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

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

    +167

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

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

    Sulik78, 18 Февраля 2011

    Комментарии (22)
  6. 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)
  7. 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)
  8. 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)
  9. PHP / Говнокод #5421

    +147

    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
    $delitem = "%[2345]{1,1}[ -]{1,1}[хк]{1,1}|
    
    [2345]{1,1}к.?[ ]{0,1}кв|
    
    [2345]кв.*|
    
    двухкомнатн(ую|ая)|трехкомнатн(ую|ая)|четырехкомнатн(ую|ая)|пятикомнатн(ую|ая)|
    
    ком.?ерческое|земельный|неблаг|ч/дом|частный|комнат[ау]|офис(ное|ы|ные)|склад(ск.е|ы|ов)|комплекс |помещени[ея]|выставочны|станцию технического обслуживания|СТО|дач[ау]|
    
    почас(овая|овой)|ПОЧАС(ОВАЯ|ОВОЙ)|посут|ПОСУТ|суточ|сним(у|ет)|продается|девушк[еи]|жeнщин[ые]|таджику|
    
    [Кк](орсаков|ОРСАКОВ)|[Аа]лександров[с]{0,1}к|[Лл](угово|УГОВО)|[Тт](роицк|РОИЦК)|[Хх](олмск|ОЛМСК)|[Тт](омари|ОМАРИ)|[Пп](оронайск|ОРОНАЙСК)|[Сс](инегорск|ИНЕГОРСК)|[Сс]анаторн(ый|ом)|[Нн](евельск|ЕВЕЛЬСК)|[Дд](олинск|ОЛИНСК)%";
    
    
    строка:
    ...ый период в КОРСАКОВЕ 1 комнат...

    hotcoffee, 28 Января 2011

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

    +148

    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
    41. 41
    42. 42
    43. 43
    $take_mod = mysql_query("select * from `cpdb`.`".$mod."`;");
    			
    $rows = mysql_num_rows($take_mod);
    $fields = mysql_num_fields($take_mod);
    
    		### Вывод БД<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    	
    			echo '<td width="100%" height="26" valign="center">';			
    			### Создание названия полей____________
    		
    				echo "<table border=3px>";
    				echo "<tr>";
    				for ($b=0; $b<$fields; $b++)
    				{
    					echo "<td bgcolor='#CCFFFF'>".mysql_field_name ($take_mod, $b)."</td>";
    				}
    				echo "</tr>";
    		
    			### Содержание БД____________
    				for ($c=0; $c<$rows; $c++) {
    				 	echo "<tr>";
    					echo "<td>".mysql_result($take_mod, $c, 0)."</td>";				
    					for ($cc=1; $cc<$fields; $cc++) {
    						if($mod == 'img'){
    							echo "<td><img src='../images/100/".mysql_result($take_mod, $c, $cc)."'  width='200'/></td>";
    						}
    						else{
    							echo "<td>".mysql_result($take_mod, $c, $cc)."</td>";
    						}
    				    }
    				
    					$edit_id = $c;
    					$drop_id = mysql_result($take_mod, $c, 0);
    				
    					echo '<td width="25" bgcolor="#CCFFFF" align="center" valign="middle" >
    					<a href="?key=2&mod='.$mod.'&edit_id= '.$edit_id.'"><img src="img/b_edit.png" alt="Изменить" /></a></td>';
    					echo '<td width="25" bgcolor="#CCFFFF" align="center" valign="middle" >
    					<a href="?key=2&mod='.$mod.'&id_del='.$drop_id.'"><img src="img/b_drop.png" alt="Удалить" /></a></td>';
    
    				  	echo "</tr>";
    					}
    				echo "</table>";
    			echo '</td>';

    Это CMS - мегавывод записей БД для выбора: редактирование или удаление записи.
    Я пока только догадываюсь, что это мой мега высер..))) И пока еще не опечален)..

    Hello_O, 17 Января 2011

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

    −183

    1. 1
    2. 2
    3. 3
    $sql = "DELETE  FROM ".PREFIX."_orders
                WHERE id = '".$order_id."'
    	    ORDER BY order_date DESC";

    1_and_0, 28 Декабря 2010

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