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

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

    +33

    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
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    
    <head>
    <meta http-equiv=Content-Type content="text/html; charset=windows-1251">
    <meta http-equiv="Pragma" content="no-cache">
    <link rel=File-List href="SL_php2weeks_box.files/filelist.xml">
    
    <title>PHP за 2 недели - курс обучения PHP от Школы Программирования</title>
    <style type="text/css">
    <!--
    .style1 {font-family: Georgia, "Times New Roman", Times, serif}
    .style5 {font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; }
    .style6 {font-family: Georgia, "Times New Roman", Times, serif; font-weight: bold; }
    .style7 {font-family: Verdana, Arial, Helvetica, sans-serif}
    .style8 {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-weight: bold;
    	font-style: italic;
    	color: #009000;
    }
    .style9 {
    	font-family: Georgia, "Times New Roman", Times, serif;
    	font-size: 18px;
    }
    .style10 {
    	font-family: "Courier New", Courier, monospace;
    	font-size: 12px;
    }
    .style11 {
    	font-size: 24px;
    	font-weight: bold;
    }
    .style12 {font-size: 24px; font-weight: bold; font-family: Georgia, "Times New Roman", Times, serif; }
    .style13 {font-size: 24px; font-weight: bold; font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; }
    .style14 {font-family: Georgia, "Times New Roman", Times, serif; font-weight: bold; font-style: italic; }
    .style15 {
    	color: #0000FF;
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    }
    .style17 {font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; font-size: 16px; }
    .style18 {
    	font-size: 20px
    }
    -->
    </style>
    </head>
    
    
    
    <body lang=RU link=blue vlink=purple>
    
    <!-- SmartResponder.ru PopOver code (begin) -->
    <script language="javascript" type="text/javascript" src="popover.js"></script>
    <span style="margin: 0pt; padding: 0pt; width: 400px; height: 400px; position: absolute; left: 0pt; top: 0pt; right: 0pt; z-index: 1; display: none;" id="SR_PopOver">
    <table cellpadding="0" cellspacing="0" height="246" width="400">
    <tbody>
    <tr>
    <td style="border: 1px solid rgb(0, 0, 0);">
    <table bgcolor="#ffffff" cellpadding="3" cellspacing="0" height="100%" width="100%">
    <tbody>
    <tr bgcolor="#dddddd" valign="middle">
    <td onMouseDown="popover_drag_start(event, this, 'SR_PopOver')" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 255); font-weight: bold;" align="center" width="100%">
    <b>Подарок Вам - <font style="color:#009000;">Курс Web-Старт!</font><br /> 7 Бесплатных Видеоуроков По PHP!</b></td>
    <td align="right">
    <table cellspacing="0">
    <tbody>
    
    <tr>
    <td style="padding: 0pt 3px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; color: rgb(0, 0, 0); font-weight: bold;" onClick="popover_close(this, 'popover_start_to(\'SR_PopOver\', 21, 0, \'windowWidth\', parseInt(popover_obj.style.top) - popover_base_y)')" onMouseOver="this.style.cursor='pointer'" onMouseOut="this.style.cursor='default'">X</td>
    </tr>
    </tbody>
    </table>

    http://prog-school.ru/php2weeks/

    вот как бывает! исходник страницы смотрите сами :)

    brainstorm, 11 Декабря 2010

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

    +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
    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
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    //
    				if (delay == 0)
    				{
    					Uint8 *keys = SDL_GetKeyState(NULL);
    					// Checking for letters
    					for (c = 97; c < 123; c++)
    						if (cpos < 9)
    							if (keys[c] && !delay)
    							{
    								mapname[cpos] = c;
    								mapname[++cpos] = '\0';
    								delay = 5;
    								
    								bg.show(400, 240, 0);
    								text.print(mapname, 200, 180);
    								render.backend();
    								
    								break;
    							}
    					// Checking for numbers
    					for (c = 48; c < 58; c++)
    						if (cpos < 9)
    							if (keys[c] && !delay)
    							{
    								mapname[cpos] = c;
    								mapname[++cpos] = '\0';
    								delay = 5;
    								
    								bg.show(400, 240, 0);
    								text.print(mapname, 200, 180);
    								render.backend();
    								
    								break;
    							}
    					// On pressing ENTER
    					if (keys[13] && !delay && strlen(mapname) > 2)
    						break;
    					// On pressing BACKSPACE
    					if (keys[SDLK_BACKSPACE] && cpos > 0 && !delay)
    					{
    						mapname[--cpos] = '\0';
    						delay = 5;
    						
    						bg.show(400, 240, 0);
    						if (cpos > 0) text.print(mapname, 200, 180);
    						render.backend();
    					}
    				}
    				
    				if (delay > 0)
    					delay--;

    Уверен, можно было сделать намного проще =)

    wh_, 10 Декабря 2010

    Комментарии (17)
  4. PHP / Говнокод #4793

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static function encode($value, $cycleCheck = false, $options = array())
        {
            $encoder = new self(($cycleCheck) ? true : false, $options);
    
            return $encoder->_encodeValue($value);
        }

    Zend Framework, Zend_Json_Encoder

    dr_von_ozgg, 30 Ноября 2010

    Комментарии (17)
  5. PHP / Говнокод #4762

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    while(sizeof($data)>sizeof($head)) {
    		$data[sizeof($data)-2].=$data[sizeof($data)-1];
    		unset($data[sizeof($data)-1]);
    	}

    кусочек моего скрипта разовой работы, накиданного на скорую руку(неудивительно, что он выполнялся 2 минуты).
    думаю, всем понятен смысл этого кусочка = )

    Lure Of Chaos, 27 Ноября 2010

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

    +156

    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
    index.php:
    <?php
    
    	define("TEMPLATE_FOLDER", "./templates/");
    
    	class Template
    	{
    		
    		public function view($template, $data)
    		{
    			foreach($data as $key => $variable)
    				$$key = $variable;
    			
    			require(TEMPLATE_FOLDER . $template . '.php');
    			
    			foreach($data as $key => $variable)
    				unset($$key);
    		}
    		
    	}
    	
    	$template = new Template();
    	
    	$data['test'] = array(1, 2, 3);
    	
    	$template->view('index', $data);
    	
    ?>
    
    templates/index.php:
    <html>
    	<body>
    		<?php foreach($test as $row): ?>
    			<?php echo $row ?><br/><br/>
    		<?php endforeach; ?>
    	</body>
    </html>

    Говно ли?

    TapTap, 12 Ноября 2010

    Комментарии (17)
  7. Perl / Говнокод #4592

    −122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    sub generate_code {
    	my ($arrey_pos,$code);
    	my @arrey = ('a'..'q', 'C'..'O', '1'..'9', 'g'..'u', 'l'..'z', '9'..'1', 'H'..'W');
    
    	for (my $i = 0; $i < $_[0]; $i++) {
    		$arrey_pos = int(rand($#arrey));
    		$code .= $arrey[$arrey_pos];
    	}
    	$code;
    }

    Генерация кода.

    Arigato, 11 Ноября 2010

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

    +168

    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
    /*++
      прямое ли?
    --*/
    bool ModelCurve3D::IsStraight() const {
      return m_mathCurve ? m_mathCurve->IsStraight() : false;
    }
    
    /*++
      замкнутость
    --*/
    bool ModelCurve3D::IsClosed()  const
    {
      return m_mathCurve ? m_mathCurve->IsStraight() : false;
    }

    Замкнутый... ну знаешь, это типа как прямолинейный. И такое лежит годами. А как поправишь, еще может и регрессия случится. Ну как так можно?

    guest666, 06 Ноября 2010

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

    +77

    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
    ;
                    Scanner reader = new Scanner(System.in);
                    int razm = 0;
                    boolean flag = false;
    
                    int[] rez = new int[100];
                    for (int i = 0; i < 100; i++)
                             rez[i] = i;
    
                    do {
                            System.out.println("введите размерность матрицы");
                            razm = reader.nextInt();
    
                            for (int i = 0; i < 100; i++) {
                                    if (rez[i] == razm)
                                            flag = true;
                            }
    
                            System.out.println("размерность не является целочисленным типом,повторите ввод");
    
                    } while (flag == false);
    
                    double[][] matrix = new double[razm][razm];
    ;

    Студенческое изделие, блинННН.
    Я даже не знаю, как это прокомментировать....
    я не могу себе представить, КАК надо мыслить, чтоб такое учудить.
    Ну а , то, что сообщение про неправильный ввод выводится
    безотносительно к правильности введённого - это уже так, мелочи жизни.

    minixoid, 28 Октября 2010

    Комментарии (17)
  10. Python / Говнокод #4466

    −165

    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
    def getrows(c):
        return \
            sum( # суммируем по категориям
                map(
                    lambda category:
                        sum( # суммируем по itemid
                            map(
                                lambda itemidset:
                                    sum( # суммируем по itemstring
                                        map(
                                            lambda itemstring:
                                                map(
                                                    lambda info:
                                                        transaction(category, itemstring, info),
                                                    itemidset[itemstring].values()
                                                ),
                                            itemidset.keys()
                                        ),
                                    []),
                                c[category].values()
                            ),
                            []
                        ),
                    ("completedAuctions", "failedAuctions", "completedBidsBuyouts")
                ),
                []
            )

    Залез в свой старый скрипт, генерирующий отчеты, думал кое-что подправить...
    Увидел одну из функций (эту) и решил лучше забить тут что-то править хД

    Причины такого ужаса - наверно отсутствие явной типизации в питоне и средств рефакторинга (rename variable, extract method, ...) в "IDE"

    burdakovd, 27 Октября 2010

    Комментарии (17)
  11. JavaScript / Говнокод #4441

    +151

    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
    function msglist_scroll_change() {
    
    	var mailbox = Mailbox.Get();
    	if (!mailbox.mList.length && (mailbox.state == 2)) { if (splash) splash_off(); return; }
    	var scroll_height = document.getElementById("msglist_container_id").style.height;
    	var scroll_top = document.getElementById("msglist_container_id").scrollTop;
    	var delta = parseInt((parseInt(scroll_height) / mailbox.mListItemHeight) + 2);
    	
    	var first = parseInt((scroll_top / mailbox.mListItemHeight) - 1);
    	var last = parseInt(((parseInt(scroll_top) + parseInt(scroll_height)) / mailbox.mListItemHeight) + 1);
    	if (first < 0) first = 0;
    	if (last >= mailbox.mList.length) last = mailbox.mList.length - 1;
    	
    	// проверка на то, что в область видимости попало неподгруженное письмо
    	var needToLoad = 0;
    	for (var i = first; i <= last; i++) if (mailbox.mList[i].STATE == 0) needToLoad++;
    	if (!needToLoad) return; // если не надо
    
    	
    	var first = parseInt((scroll_top / mailbox.mListItemHeight) - 1 - delta);
    	var last = parseInt(((parseInt(scroll_top) + parseInt(scroll_height)) / mailbox.mListItemHeight) + 1 + delta);
    	if (first < 0) first = 0;
    	if (last >= mailbox.mList.length) last = mailbox.mList.length - 1;
    	
    	var messages_part = new Array();
    	var k = 0;
    	targetDiv = gebi("msglist_container_id");
    	inn = "";
    	for (var i = first; i <= last; i++) {
    		if (mailbox.mList[i].STATE == 0) {
    			messages_part[k] = mailbox.mList[i].ID;
    			k++;
    		}
    		tmpl_msg_loading(mailbox.mList[i].ID);
    	}
    	if (messages_part.length) ajax_get_folder_msg_list_info_part(mailbox.fId, messages_part, mailbox.recvMListInfoData, mailbox);
    	else heatFolders();
    }

    Зачем-то два раза определяют first и last...
    Может кто-нибудь объяснит?..

    istem, 25 Октября 2010

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