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

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $claimAboutBlackout = false;
    foreach ($blackouts as $blackout) {
        if ($claimAboutBlackout = $claim->getType() === $blackout->getType() ? true : false) {
            break;
        }
    }
    return $claimAboutBlackout;

    Нашли в одном из проектов.

    bit0rez, 08 Июня 2015

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

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    /*
     * To the unenlightened: This sets the X (where X is variable between calls) LSB's of mask to 1.
     */
    mask = ~(~0 << X);

    Байтопроблемушки. Me gusta.

    codemonkey, 27 Мая 2015

    Комментарии (5)
  4. Си / Говнокод #18220

    +143

    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
    /* Example libCello Program */
    
    #include "Cello.h"
    
    int main(int argc, char** argv) {
    
      /* Stack objects are created using "$" */
      var int_item = $(Int, 5);
      var float_item = $(Real, 2.4);
      var string_item = $(String, "Hello");
    
      /* Heap objects are created using "new" */
      var items = new(List, int_item, float_item, string_item);
    
      /* Collections can be looped over */
      foreach (item in items) {
        /* Types are also objects */
        var type = type_of(item);
        print("Object %$ has type %$\n", item, type);
      }
    
      /* Heap objects destroyed with "delete" */
      delete(items); 
    }

    http://libcello.org/

    dxd, 22 Мая 2015

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

    +145

    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
    this.serializeParams = function(params) {                                                                 
            var serialize = [];                                                                                   
            var buildParameters = function (parameters) {                                                         
                var result = {};                                                                                  
                if(typeof parameters == "object") {                                                               
                    for(var param in parameters) {                                                                
                        if(!parameters.hasOwnProperty(param)) {                                                   
                            continue;                                                                             
                        }                                                                                         
                        result[param] = buildParameters(parameters[param]);                                       
                    }                                                                                             
                }                                                                                                 
                if(typeof parameters == "string") {                                                               
                    return parameters;                                                                            
                }                                                                                                 
                return result;                                                                                    
            };                                                                                                    
            console.log(buildParameters(params));                                                                 
            for (var param in params) {                                                                           
                if(!params.hasOwnProperty(param)) {                                                               
                    continue;                                                                                     
                }                                                                                                 
                buildParameters(params[param]);                                                                   
                serialize.push(param + '=' + params[param]);                                                      
            }                                                                                                     
            if (serialize.length === 0) {                                                                         
                return '';                                                                                        
            }                                                                                                     
            return (this.options.method === "GET" ? "?" : "") + serialize.join('&');                              
        };

    В голове выглядело все идеально а получилось что то типа
    for(var i = 0; i < 1e10; i++) { continue; } // бесполезная работа

    LarexSetch, 22 Мая 2015

    Комментарии (5)
  6. Си / Говнокод #18216

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if((pDir = opendir(pchPath)) != NULL)
    {
        strcpy(chBuffer, pchPath);
        strcat(chBuffer, "/");
        while((pTemp == NULL) && ((pDirent = readdir(pDir)) != NULL))
        {
            if(((pChar = strstr(pDirent->d_name, Info.pchFilePrefix)) == pDirent->d_name) &&
               ((pChar = strstr(pDirent->d_name, Info.pchFileExtension)) != NULL)  &&
               (pChar[strlen(Info.pchFileExtension)] == '\0'))
            {
                sprintf(strrchr(chBuffer, '/') + 1, "%s", pDirent->d_name);

    лаконичные программисты лаконично ходят по каталогам.

    Dummy00001, 21 Мая 2015

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

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $act = isset($_REQUEST['act']) ? $_REQUEST['act'] : '';
    	
    	if ($act == 'details') {
    		orders_details();
    	} elseif ($act == 'details_xls') {
    		orders_details_xls();
    	} elseif ($act == 'set_status') {
    		orders_set_status();
    	// ... ещё строчек 30
    	} else {
    		orders_list();
    	}

    Так мы реализуем роутер

    Tairesh, 20 Мая 2015

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

    +142

    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
    foreach ($id as $k) {
    		//Помним, что меньший id всегда пишется первым
    		if ($firm_id < $k)
    			{ $a = 1; $b = 2; }
    		else
    			{ $a = 2; $b = 1; }
    			if ($_REQUEST['submit'] == 1) {
                                    //  ...
    			}
    			if ($_REQUEST['submit'] > 1) {
    				sql_query("UPDATE partners SET ".$type.$a.$b." = 1, firm{$a}_date = {$NOW} WHERE firm{$a} = $firm_id AND firm{$b} = $k");
                                    //  ...
    			}
    	}
    }

    А Вы знаете что будет если -1 отправить?)

    dimka3210, 19 Мая 2015

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

    +145

    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
    function send_posit(a){
    					a='<'+a+'>';
    					$.ajax(
    						{url: 'handler.php',
    						data : { posit_this: a},
    						type : "POST", 
    						async: false, 
    						dataType: "html",
    						success: function(data){data_br=data;}
    						})
    				}
    				function reset_all(){$("#Sub_menu1").html('');$("#Sub_menu2").html('');$("#Sub_menu3").html('');$("#Sub_menu4").html('');$("#tovar").html('');}
    				function reset_sub_menu2(){$("#Sub_menu3").html('');$("#Sub_menu4").html('');$("tovar").html('');$("#tovar").html('');}
    				function reset_sub_menu3(){$("#Sub_menu4").html('');$("#tovar").html('');}
    				function reset_tovar(){$("#tovar").html('');}
    				function Katalog(p){
    				switch (p) 
    				{
    				case 0:	send_posit("cat01");$("#menu0").html(data_br);send_posit("cat011");$("#Sub_menu1").html(data_br);send_posit("cat012");$("#Sub_menu2").html(data_br);
    					send_posit("cat013");$("#Sub_menu3").html(data_br);send_posit("cat014");$("#Sub_menu4").html(data_br);break;
    				case 1:	send_posit("cat01");$("#menu0").html(data_br);reset_all();send_posit("cat1");$("#Sub_menu1").html(data_br);break;
    				case 2:send_posit("cat02");$("#menu0").html(data_br);reset_all();send_posit("cat2");$("#Sub_menu1").html(data_br);break;
    				case 3:send_posit("cat03");$("#menu0").html(data_br);reset_all();send_posit("cat3");$("#Sub_menu1").html(data_br);break;
    				case 4:send_posit("cat04");$("#menu0").html(data_br);reset_all();send_posit("cat4");$("#Sub_menu1").html(data_br);break;
    				case 11:send_posit("cat11");reset_sub_menu2();$("#Sub_menu2").html(data_br);break;
    				case 111:send_posit("cat111");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 1111:send_posit("tov_kart_1111");$("#tovar").html(data_br);break; 
    				case 1112:send_posit("tov_kart_1112");$("#tovar").html(data_br);break; 
    				case 1113:send_posit("tov_kart_1113");$("#tovar").html(data_br);break; 
    				case 1114:send_posit("tov_kart_1114");$("#tovar").html(data_br);break; 
    				case 112:send_posit("cat112");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 113:send_posit("tov_kart_1131");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 1121:send_posit("tov_kart_1121");$("#tovar").html(data_br);break;
    				case 1122:send_posit("tov_kart_1122");$("#tovar").html(data_br);break;
    				case 1123:send_posit("tov_kart_1123");$("#tovar").html(data_br);break;
    				case 12:send_posit("cat12");reset_sub_menu2();$("#Sub_menu2").html(data_br);break;
    				case 121:send_posit("tov_kart_121");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 122:send_posit("tov_kart_122");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 123:send_posit("tov_kart_123");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 13:send_posit("cat13");reset_sub_menu2();$("#Sub_menu2").html(data_br);break;
    				case 131:send_posit("tov_kart_131");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 132:send_posit("tov_kart_132");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 133:send_posit("tov_kart_133");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 134:send_posit("tov_kart_134");reset_sub_menu2();$("#tovar").html(data_br);break;
    				case 14:send_posit("cat14");reset_sub_menu2();$("#Sub_menu2").html(data_br);break;
    				case 141:send_posit("cat141");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 142:send_posit("cat142");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 16:send_posit("cat16");reset_sub_menu2();$("#Sub_menu2").html(data_br);break;
    				case 161:send_posit("cat161");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 162:send_posit("cat162");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 163:send_posit("cat163");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 1611:send_posit("tov_kart_1611");$("#tovar").html(data_br);break;
    				case 1612:send_posit("tov_kart_1612");$("#tovar").html(data_br);break;
    				case 1613:send_posit("tov_kart_1613");$("#tovar").html(data_br);break;
    				case 1614:send_posit("tov_kart_1614");$("#tovar").html(data_br);break;
    				case 1615:send_posit("tov_kart_1615");$("#tovar").html(data_br);break;
    				case 1621:send_posit("tov_kart_1621");$("#tovar").html(data_br);break;
    				case 1622:send_posit("tov_kart_1622");$("#tovar").html(data_br);break;
    				case 1623:send_posit("tov_kart_1623");$("#tovar").html(data_br);break;
    				case 1631:send_posit("tov_kart_1631");$("#tovar").html(data_br);break;
    				case 1632:send_posit("tov_kart_1632");$("#tovar").html(data_br);break;
    				case 1633:send_posit("tov_kart_1633");$("#tovar").html(data_br);break;
    				case 1634:send_posit("tov_kart_1634");$("#tovar").html(data_br);break;
    				case 1635:send_posit("tov_kart_1635");$("#tovar").html(data_br);break;
    				case 1636:send_posit("tov_kart_1636");$("#tovar").html(data_br);break;
    				case 1637:send_posit("tov_kart_1637");$("#tovar").html(data_br);break;
    				case 1638:send_posit("tov_kart_1638");$("#tovar").html(data_br);break;
    				case 1639:send_posit("tov_kart_1639");$("#tovar").html(data_br);break;
    				case 15:send_posit("cat15");reset_sub_menu2();$("#Sub_menu2").html(data_br);break;
    				case 151:send_posit("cat151");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 152:send_posit("cat152");reset_sub_menu3();$("#Sub_menu3").html(data_br);break;
    				case 1511:send_posit("tov_kart_1511");$("#tovar").html(data_br);break;
    				case 1512:send_posit("tov_kart_1512");$("#tovar").html(data_br);break;
    				case 1513:send_posit("tov_kart_1513");$("#tovar").html(data_br);break;

    о майн гад.

    Каталог который можно написать на jquery в 15строк

    onotoliy, 18 Мая 2015

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

    +145

    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
    function GetItemID() {
        var path = window.location.href;
        //alert(path);
        var itemID = "";
        var count = 0;
        for (i = 1; i < path.length; i++)
        {
            if (count != 12)
            {
                if ((path[i] == '0') || (path[i] == '1') || (path[i] == '2') || (path[i] == '3') || (path[i] == '4') || (path[i] == '5') || (path[i] == '6') || (path[i] == '7') || (path[i] == '8') || (path[i] == '9'))
                {
                    itemID += path[i];
                    count++;
                }
                else {
                    if (count != 12)
                    {
                        itemID = "";
                        count = 0;
                    }
                }
            }
        }
        return itemID;
    }

    На eBay определяет ID товара для кнопки купить в мерчантской(китайцы) странице ниже. O location.href.match(/\d{12}/) они наверное не знали.

    baldrs, 14 Мая 2015

    Комментарии (5)
  11. Pascal / Говнокод #18113

    +143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function CopyEx(s:string; index,count:integer):string;
    var
      len,ln:integer;
    begin
      ln:=0;
      if index <1 then index:=1;
      len:=length(s);
      ln:=len-count;
      dec(ln);
      dec(len,(index+ln));
      result:=copy(s,index,len);
    end;

    Stertor, 04 Мая 2015

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