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

    +165

    1. 1
    2. 2
    foreach ($_POST as $kp => $post)
    	$_POST2[$kp] = $post;

    Это написано в самом начале того скрипта, что мне дали фиксить, в коде я встретил строчки описанные выше, а также деление на 0 и неправильно раставленные скобки в условиях с && и ||

    DarkThinker, 11 Августа 2011

    Комментарии (13)
  2. PHP / Говнокод #7516

    +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
    18. 18
    19. 19
    20. 20
    $offset = intval($_POST['offset']);  
            $sql    = mysql_query("SELECT * FROM `test` ORDER BY id DESC LIMIT $offset, 5");  
            if(mysql_num_rows($sql)>0) { 
            while($post = mysql_fetch_assoc($sql)){  
                foreach($post AS $n=>$m){  
                    $post[$n] = utf8_encode($m); 
                }  
                $json['more'][] = $post; # чтобы было легче до 
            }   
             if(count($json['more']))  { 
                 $json['ok'] = '1';  
             } else {  
                 $json['ok'] = '0'; 
             }      
            } else { 
               $json['ok']='3'; 
            }     
            mysql_close($db);  
        
    echo json_encode($json);

    Индусский метод выборки записей из таблицы.

    fqnm, 11 Августа 2011

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

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public class Settings {
    
    	public static String CURRENCY = "руб.";
    	
    	public static void setCurrency(String currency) {
    		CURRENCY = currency != null ? currency : "руб.";
    	}
    	
    }

    Мой проект. Можно ли считать это ГК?

    tir, 11 Августа 2011

    Комментарии (243)
  4. 1C / Говнокод #7514

    −129

    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
    . . .
    	ццц=0;                               
    	Если Сотрудникз.Выбран()=0 Тогда
    		Сомр= СоздатьОбъект("Справочник.Сотрудники");
    		Сомр.ВыбратьЭлементы();     
    		цццк=50000;
    	Иначе
    		Сомр=Сотрудникз;
    		цццк=1;
    	КонецЕсли;	  
    	Пока ((ццц<цццк) ) цикл   
    		ццц=ццц+1;    
    		Если цццк>1 Тогда
    			Если (Сомр.ПолучитьЭлемент()=0) Тогда
    				Прервать;
    			КонецЕсли;  
    		КонецЕсли;	 
    		Сотрудник = Сомр.ТекущийЭлемент();   
    		Если Сотрудник.ЭтоГруппа()=1 Тогда
    			продолжить;
    		КонецЕсли;
                    . . .
    
    По нормальному решается:
    
        Сотр = СоздатьОбъект("Справочник.Сотрудники");
        Сотр.ВыбратьЭлементы();
        Пока  (Сотр.ПолучитьЭлемент() = 1)  Цикл
          . . . 
        КонецЦикла

    Досталось в наследство на основной работе, самописная конфа на 7.7,
    как выяснилось этот участок кода писала 50-ти летняя женщина-программист

    adammartin, 11 Августа 2011

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

    +155

    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
    Следующий код приводит в крутящийся восторг все рисунки, обнаруженные на странице :
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
    
    В этом классическом примере есть место индивидуальности. Например, заставить летать не рисунки, а ссылки (чем не леталки?):
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.links; DIL=DI.length; function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
    
    Тошниловка:
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=10; y4=10; x5=30; y5=20; DI=document.images; DIL=DI.length;function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style;DIS.position='relative'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;DIS.top=Math .cos(R*y1+i*y2+y3)*y4+y5}R++ }setInterval('A()',5); void(0)
    
    Пятница:
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=3; y4=40; x5=30; y5=20; DI=document.images; DIL=DI.length;function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style;DIS.position='relative'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;DIS.top=-Math.abs(Math .cos(R*y1*2+i*y2+y3)*y4)+y5}R+=2 }setInterval('A()',5); void(0)
    
    Иная_реальность (утро_понедельника):
    javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=3; y4=40; x5=30; y5=20; DI=document.images; DIW=new Array(); DIH=new Array(); DIL=DI.length; for(i=0;i<DIL;i++){DIW[i]=DI[i].width; DIH[i]=DI[i].height;} function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style;DIS.position='relative'; DIS.width=Math.abs(Math.sin(R*x1/2+i*x2+x3)*x4+x5)+DIW[i];DIS.height=Math.abs(Math.cos(R*y1/2+i*y2+y3)*y4+y5)+DIH[i];}R++; }setInterval('A()',5); void(0)

    CPPGovno, 11 Августа 2011

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

    +84

    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
    74. 74
    75. 75
    76. 76
    77. 77
    search = 0;
    try {
    	search = search + wdContext.currentSearchElement().getLifnr().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getBahns().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getINN().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getKPP().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getKtokk().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getLand1().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getBanks().length();
    } catch (Exception e) {
    	// TODO: handle exception
    }
    try {
    	search = search + wdContext.currentSearchElement().getBankl().length();
    } catch (Exception ex) {
    	// TODO: handle exception
    }
    try {
    	search = search + wdContext.currentSearchElement().getBankn().length();
    } catch (Exception ex) {
    //	TODO: handle exception
    }
    try {
    	search = search + wdContext.currentSearchElement().getLocco().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	//	search = search + wdContext.currentSearchElement().getLoevm().length();
    	search = search + wdContext.currentSearchElement().getName().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getOKPO().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getOrt01().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    try {
    	search = search + wdContext.currentSearchElement().getSortl().length();
    } catch (Exception ex) {
    //	ex.printStackTrace();
    }
    if (search == 0)
    	wdComponentAPI.getMessageManager().reportException("Введите критерии поиска", true);
    else {
    	//Далее идет поиск
    }

    Вот такой вот была забабахана проверка входных параметров перед вызовом функции поиска (мною добавлен только последний комментарий, все остальное оригинальное)

    foGa, 11 Августа 2011

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

    −851

    1. 1
    2. 2
    3. 3
    4. 4
    ...
    WHERE
                1=1
    ...

    black_dez, 10 Августа 2011

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $pbase_url = parse_url($base_url);
    if ( $pbase_url ){
    
        $base_url =  (parse_url($base_url, PHP_URL_SCHEME)? parse_url($base_url, PHP_URL_SCHEME).'://' : '')
                    .(parse_url($base_url, PHP_URL_USER)? parse_url($base_url, PHP_URL_USER).':' : '')
                    .(parse_url($base_url, PHP_URL_PASS)?parse_url($base_url, PHP_URL_PASS).'@' : '')
                    .(string)parse_url($base_url, PHP_URL_HOST)
                    .(string)parse_url($base_url, PHP_URL_PATH);
    
    }

    ...

    cephuo, 10 Августа 2011

    Комментарии (9)
  9. Куча / Говнокод #7509

    +134

    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
    74. 74
    <style type="text/css">
      p, div, ol, ul {
        margin: 0;
        padding: 0;
        border: 0;
        vertical-align: baseline;
        background: transparent;
      }
      .exception {
        width: 700px;
        border: 1px solid #D6D6D6;
        background-color: #FAFAFA;
        font-family: arial, tahoma, verdana;
        font-size: 75%;
        padding: 10px;
        line-height: 140%;
      }
      .exception img {
        float: left;
        margin-right: 7px;
      }
      .exceptionTitle {
        padding-top: 2px;
        color: #AA0000;
        font-size: 120%;
        font-weight: bold;
      }
      .exceptionMessage {
        background-color: white;
        border: 1px solid #E1E1E1;
        padding: 5px;
        font-size: 110%;
        margin: 10px 0;
      }
      .exception a {
        cursor: pointer;
        padding: 1px;
        border-bottom: 1px dotted #555;
        color: #000;
      }
      .exceptionTraceContainer {
        font-size: 95%;
        line-height: 150%;
        font-family: verdana, tahoma, arial;
        margin: 10px 0;
      }
      .exceptionTraceContainer ol {
        padding-left: 25px;
      }
      .exceptionTraceContainer li {
        padding-top: 5px;
      }
      .exceptionSystemInfo {
        font-size: 90%;
        border-top: 1px solid #E1E1E1;
        padding: 10px 5px;
        color: #666;
      }
    </style>
    <!--[if IE]>
    <style type="text/css">
    img { display: none; }
    </style>
    <![endif]-->
    <script type="text/javascript">
    function _showAllTrace() {
        var trace = document.getElementById('exceptionTrace');
        trace.style.display = (trace.style.display == 'none') ? '' : 'none';
    }
    </script>
    <div class="exception">
        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMi8wMi8wOOE6tm4AAAAYdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3Jrc0+zH04AAAHsSURBVDiNlZDNahNhFIaf+clkkknSNNHUohSRYlyIyxYRXLhVL8B7qCIKigUR3IobewOC0EWgdyCIf4sstLSRlopasQhxmkyTSTIZJ/PjIiZlzJTEB87iO3w8vO8RHMcJiOBX+Qad6iu0E1eYWVyN+jJEjFoalfvYtTKZmUXsepnqu+v/J3Gam5g/SqSOXyCuFZiavchvcwujcm9yiVFZJqZOo6g5CDwkSSGVP09j9wVd/eV4idPcwDI+oGXnIfCGo6hZEuk59tdvj5cYlQfEEwUkSQlJCDy0qTP4PRNj8+7REs+uYtXXSWbnABdwyS+UyC+UABdBDEjlzmLureE0N6IlB5+WkZUUsqweJhjw9x1PTBNT0tQ+LkVLOvprkpmT4Rr/SPq1TuF0vtPZWw1LWl+fEfg94onMsEp/BhzuJDmGqhU42HkSljR3n6Nq+ZFjRiUh8EikjuF292lsPwJAaOvl4Ofba+QK5xCl2Mjlj6LbqWG1DU5f/Ybc2H6MomiIogCBG/qYv/QGgPr7yyOSRDJLt6XT2HqI8HmtEKSzsyhqauIUA2yrSdvUkQUxhu854RtMiO/3EMUYYq64RNvU6XbqBL7TrzRmfNfGatWw2nVyxZsIjuMErS9PMXZW8Fx74hSSrJIr3iI9f4c/ZwP51LVnSksAAAAASUVORK5CYII=" alt="exception" />
        <div class="exceptionTitle">Application was halted by an exception.</div>
        <p>Debug-mode is off.</p></div>

    Это что-то новенькое на говнокоде. Вылезло при попытке открыть один говнокод на отдельной странице (после другого сбоя, неудачи голосования). Кстати, это весь код страницы, никаких <html>, <head> и <body> не было.

    gegMOPO4, 10 Августа 2011

    Комментарии (50)
  10. SQL / Говнокод #7508

    −856

    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
    CREATE TABLE IF NOT EXISTS `region` (
      `id` int(32) NOT NULL auto_increment,
      `vkl` tinyint(1) NOT NULL COMMENT 'Флаг использования/игнорирования (вкл/выкл) страны в проекте',
      `tip` int(8) NOT NULL COMMENT 'тип региона: определяется из таблицы region_tip',
      `samonazvanie` varchar(255) collate utf8_bin NOT NULL COMMENT 'название региона на местном языке',
      `mfa` varchar(255) collate utf8_bin default NULL COMMENT 'запись названия в МФА',
      `stolica` int(32) NOT NULL COMMENT 'столица региона',
      `samonazvanie_1` varchar(255) collate utf8_bin NOT NULL COMMENT 'прочтение названия на русском языке',
      `oficialno_1` varchar(255) collate utf8_bin NOT NULL COMMENT 'официальное название на русском',
      `flag` varchar(255) collate utf8_bin default NULL COMMENT 'флаг населенного пункта',
      `flag_svg` varchar(255) collate utf8_bin default NULL COMMENT 'флаг населенного пункта в векторном формате',
      `gerb` varchar(255) collate utf8_bin default NULL COMMENT 'герб населенного пункта',
      `gerb_svg` varchar(255) collate utf8_bin default NULL COMMENT 'герб населенного пункта в векторном формате',
      `kontinent` int(8) NOT NULL COMMENT 'маска континента',
      `strana_id` int(8) NOT NULL COMMENT 'сслыка на страну',
      `region_id` varchar(32) collate utf8_bin NOT NULL COMMENT 'построение иерархии регионов',
      `ksi1` varchar(16) collate utf8_bin NOT NULL COMMENT 'одномодный КСИ-код',
      `ksi2` varchar(16) collate utf8_bin NOT NULL COMMENT 'двумодный КСИ-код',
      `ksi_sort` varchar(16) collate utf8_bin NOT NULL COMMENT 'сортировочный КСИ-код',
      `ksi_lat` varchar(16) collate utf8_bin NOT NULL COMMENT 'латинский КСИ-код',
      `iso_kod` varchar(16) collate utf8_bin NOT NULL COMMENT 'универсальный код (в большинстве случаев ИСО-код)',
      `telefon` varchar(16) collate utf8_bin NOT NULL COMMENT 'телефонный код',
      `pochta` varchar(16) collate utf8_bin NOT NULL COMMENT 'почтовый индекс',
      `avto` varchar(8) collate utf8_bin NOT NULL COMMENT 'автомобильный код',
      `naselenie` decimal(16,3) NOT NULL COMMENT 'приблизительная численность',
      `ploshad` decimal(16,3) NOT NULL COMMENT 'оценка площади',
      `giddom` varchar(255) collate utf8_bin NOT NULL default 'http://www.giddom.com' COMMENT 'ссылка на проект ГидДом',
      `shirota_gradus` int(8) NOT NULL COMMENT 'градус широты',
      `shirota_minuta` int(8) NOT NULL COMMENT 'минута широты',
      `shirota_sekunda` float(16,2) NOT NULL COMMENT 'секунда широты',
      `dolgota_gradus` int(8) NOT NULL COMMENT 'градус долготы',
      `dolgota_minuta` int(8) NOT NULL COMMENT 'минута долготы',
      `dolgota_sekunda` float(16,2) NOT NULL COMMENT 'секунда долготы',
      `sozdan` datetime default NULL,
      `izmenen` datetime default NULL,
      `vrem_pojas` varchar(8) collate utf8_bin default NULL,
      `dop_nazvanie` text collate utf8_bin COMMENT 'дополнительные (альтернативные) названия страны для различных вариантов транслитерации и исторических названий, возможно использование для поиска',
      `status` int(11) NOT NULL COMMENT 'статус записи о регионе',
      `nazvanie_1` varchar(255) collate utf8_bin NOT NULL,
      `opisanie_1` text collate utf8_bin COMMENT 'Описание населённого пункта на русский языке',
    -- колбаса
      `nazvanie_67` varchar(255) collate utf8_bin NOT NULL COMMENT 'поле для хранения названия на словенском',
      `opisanie_67` text collate utf8_bin COMMENT 'Описание населённого пункта на словацкий языке',
      PRIMARY KEY  (`id`),
      KEY `nazvanie_67` (`nazvanie_67`),
      KEY `strana_id` (`strana_id`),
      KEY `region_id` (`region_id`),
      KEY `vkl` (`vkl`),
      KEY `nazvanie_1` (`nazvanie_1`),
      KEY `nazvanie_2` (`nazvanie_2`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='таблица регионов стран' AUTO_INCREMENT=3746 ;

    Искал хорошую базу Российских городов с областями, регионами, на русском и английском с координатами. На хабре набрёл на это http://geo.webnabor.com/?link=16

    message, 10 Августа 2011

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