1. PHP / Говнокод #4449

    +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
    <?php
    
            // ...
            $buffer='$buffer';
            $text = '$text';
            // ...
    
            $file = <<<CODE
    <?php
    
        // ...
    
        function prepareText($text)
        {
            $text = str_replace("\\n\\r", " ", $text);
            $text = str_replace("\\r\\n", " ", $text);
            $text = str_replace("\\n", " ", $text);
    
            return $text;
        }
    
        // ...
    CODE;

    Суть такова: нужно было генерировать пхп код, который впоследствии должен был выполняться на клиенте.
    Угадайте, зачем нужны переменные $buffer, $text и еще много таких, в которых лежит имя самой переменной в строке?

    user654321, 26 Октября 2010

    Комментарии (12)
  2. C# / Говнокод #4448

    +110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <asp:EntityDataSource ID="targert" runat="server" ConnectionString="name=portalEntities1"
                DefaultContainerName="portalEntities1" EnableFlattening="False" 
                CommandText="SELECT first_table.id FROM first_table 
            WHERE ANYELEMENT(select second_table.field_2 from first_table.second_table where second_table.field_2 = @var1).field_2 = @var1
            " EntityTypeFilter="">
                <CommandParameters>
                    <asp:QueryStringParameter Name="var1" QueryStringField="var1" DbType="String" />
                </CommandParameters>
            </asp:EntityDataSource>

    Вот такой странный код с двойной проверкой...
    таблицы second_table и first_table имеют связь многие ко многим...

    test_unit, 26 Октября 2010

    Комментарии (3)
  3. Си / Говнокод #4447

    +141

    1. 1
    sprintf(name," %s", trim("рубль",0));

    Функция trim(char*, int), где вторым параметром указывается с какой стороны удалять пробелы(0 - с обеих сторон)

    wolf, 26 Октября 2010

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

    +168

    1. 1
    2. 2
    $Y=date('Y'); $m=date('m'); $d=date('d');$G=date('G');$i=date('i');$s=date('s'); 
    $tdate=mktime($G,$i,$s,$m,$d,$Y);

    fork, 26 Октября 2010

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

    +157

    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
    ...
    
    if ($kpp['id_complect'] == '14') {
    $smarty->assign('sost', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '54') {
    $smarty->assign('dvig', $kpp['tit']);
    
    }
    
    if ($kpp['id_complect'] == '17') {
    $smarty->assign('kpp', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '16') {
    $smarty->assign('priv', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '18') {
    $smarty->assign('weel', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '19') {
    $smarty->assign('ras', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '101') {
    $smarty->assign('color', $kpp['tit']);
    
    }
    if ($kpp['id_complect'] == '15') {
    $smarty->assign('torg', $kpp['tit']);
    
    }
    
    if ($kpp['id_complect'] == '96') {
    $smarty->assign('ls', $kpp['tit']);
    
    }
    
    if ($kpp['id_complect'] == '100') {
    $smarty->assign('vin', $kpp['tit']);
    
    }
    
    
    ...

    и так ооочень много...
    гениальный прогер наверно писал.

    yezhoff, 25 Октября 2010

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

    −199

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT z.id, z.user_id, z.points_figure, MAX( z.date_practice )
    FROM (
       SELECT p . * , h.date_practice
       FROM practice_update p
       INNER JOIN practice_update_history h ON p.history_id = h.id
       WHERE p.is_confirmed = 1 OR p.is_updated = 1
    order by h.date_practice desc
    ) z
    GROUP BY 2

    и это при том что нужно взять последнее "z.points_figure" для юзверя. %)

    KiMindfreak, 25 Октября 2010

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

    +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
    function vstyle($col_num, $arr) {
    	$a = array();
    	$size	= sizeof($arr);
    
    	$row_num	= floor( $size / $col_num);
    	if(count($arr) <= 0) {
    		return $a;
    	}
    	for( $i = 0; $i < $col_num - 1; $i++) {
    		$a[$i] = array_slice( $arr, $i * $row_num, $row_num);
    	}
    		$a[$col_num - 1]	= array_slice( $arr, $row_num * ($col_num - 1), $size - $row_num * ($col_num - 1));
    /*	foreach($arr as $key=>$value) {
    
    		$num	= $i % $col_num;
    		$a[$num][$key]	= $value;
    		$i++;
    	}
    */
    	return $a;
    }

    array_chunk суровый и безпощадный

    DrFreez, 25 Октября 2010

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

    +86

    1. 1
    new Date(System.currentTimeMillis());

    Просто и со вкусом

    galak, 25 Октября 2010

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

    −111

    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
    def get_line_from_file(path, line)
      result = nil
    
      File.open(path, "r") do |f|
        while line > 0
          line -= 1
          result = f.gets
        end
      end
    
      return result
    end
    
    get_line_from_file("/tmp/foo.txt", 20)

    (с) stackoverflow.com

    Nakilon, 25 Октября 2010

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