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

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    function alertObj(obj) {
        var str = "";
        for(k in obj) {
            if (typeof obj[k] == "object") {
                str += k+":<br />";
                for(kk in obj[k]) {
                    if (typeof obj[k][kk] == "object") {
                        str += "--"+kk+":<br />";
                        for(kkk in obj[k][kk]) {
                            str += "----"+kkk+": "+ obj[k][kk][kkk]+"<br />";
                        }
                    } else {
                        str += "--"+kk+": "+ obj[k][kk]+"<br />";
                    }
                }
            } else {
                str += k+": "+ obj[k]+"<br />";
            }
        }
        alert(str);
    }

    Алерт объектов

    DsTr, 22 Февраля 2013

    Комментарии (28)
  3. PHP / Говнокод #12625

    +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
    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
    // сначала читаем из настроек unix-timestampы дней, в которые начинаются кварталы
    // если же не получилось прочитать настройки, берем то, что сгенерим с помощью mktime
    // правда, в настройках значения от балды, и в mktime делаются не те даты, поэтому некоторые месяцы считаем не в свой квартал
    // но кого это волнует?
      $planning_current = Array(
                                 "k1" => COption::GetOptionString("main", "req_planning_k1", mktime(0,0,0,intval(1),1, $_YEAR)),
                                 "k2" => COption::GetOptionString("main", "req_planning_k2", mktime(0,0,0,intval(3),1, $_YEAR)),
                                 "k3" => COption::GetOptionString("main", "req_planning_k3", mktime(0,0,0,intval(6),1, $_YEAR)),
                                 "k4" => COption::GetOptionString("main", "req_planning_k4", mktime(0,0,0,intval(9),1, $_YEAR)),
                               ); 
    
    // массивы с порядковыми номерами месяцев квартала
      $first_kvartal  = array("01","02","03");
      $second_kvartal = array("04","05","06");
      $third_kvartal  = array("07","08","09");
      $fourth_kvartal = array("10","11","12");
    
    ... // здесь html с шапкой таблицы и началом первой строки
      
    foreach($first_kvartal as $key){ // $key нигде не используется
                $c_date = time();
                $c_cyc  = mktime(0,0,0, date('m',$planning_current['k1']), date('d',$planning_current['k1']), $_YEAR); // год сменить хочу
                
                if($c_cyc < $c_date) { // если квартал уже начался
                  ... // здесь html с ячейкой, в которой заявка текущего месяца показана одним способом
                } else {
                  ... // здесь html с ячейкой, в которой заявка текущего месяца показана другим способом
    			}
    }
    
    ... // здесь html, завершающий первую строку и начинающий вторую
    
    ... // и еще три абсолютно таких же цикла - для второго, третьего и четвертого кварталов

    Задача: вывести в таблицу ежемесячные заявки для года $_YEAR, причем каждый квартал в отдельной строке

    clauclauclau, 21 Февраля 2013

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

    +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
    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
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    function poisk_potomok_item ($id_otca, $glubina, $i_array)
                  {
                   global /*$style,*/ $kol_n, $sm, $fire;
    
                   if ($glubina==$max_vlog) return 1;
    
                   switch ($glubina)
                        {
                         case "1":
                          {
                           $base_style="menu2_level3";
                           break;
                          }
                         case "2":
                          {
                           $base_style="menu2_level4";
                           break;
                          }
                         case "3":
                          {
                           $base_style="menu2_level5";
                           break;
                          }
                         case "4":
                          {
                           $base_style="menu2_level6";
                           break;
                          }
                         case "5":
                          {
                           $base_style="menu2_level7";
                           break;
                          }
                         case "6":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                         case "7":
                          {
                           $base_style="menu2_level8";
                           break;
                          }
                        }
                   for ($j=1; $j<=$kol_n; $j++)
                      {
                       $mas5=explode(" ~ ", $i_array[$j]);
                       if ($mas5[1]==$id_otca and $mas5[2]=="1")
                         {
                          $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
    
                          for($kkkk=count($sm);$kkkk > 0; $kkkk--)
                             {
                              if ($mas5[0]==$sm[$kkkk])
                                {
                                 if ($mas5[0]==$sm[1])
                                   {
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
                                    
                                     $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
                                    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
                                   }
                                 else
                                   {
                                  //  $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><a href=\"?r=item&gs=".$mas5[0]."\" class=\"menu2_2\">".$mas5[4]."</a></td></tr></table>";
                                    $style_pot="<table cellspacing=\"0\"><tr><td class=\"$base_style\"><span class=\"menu2_2a\">".$mas5[4]."</span></td></tr></table>";
    
                                    $new_gl=$glubina+1;
    
                                     $gi=poisk_potomok_item ($mas5[0],$new_gl, $i_array);
    
                                     if ($gi != "") {$style_pot.=$fire.$gi.$fire;}
    
                                   }
                                }
                             }
    
                          $style.=$style_pot;
    
                         }
                  }
    
                 return $style;
                  }

    В одной из ведущих веб-студий Екатеринбурга, директор 5 лет назад был кодером)))
    вот одно их его творений..

    Обратите внимание на идентификаторы, такие как poisk_potomok_item, $id_otca, $glubina, $i_array.
    Вообще, как человек, директор - норм чувак, но кажется мне придется пересмотреть свои взгляды...

    Если человек называет функцию так: "poisk_potomok_item" - ему явно жить труднее остальных людей)))))

    arbora, 21 Февраля 2013

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

    +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
    if (true) {
                $res = mssql_query("SELECT  CAST(_Fld204 AS TEXT) AS _Fld204 FROM [dbo].[_Reference24] WHERE _Fld203='" . $login . "' ");
                $pass = mssql_fetch_array($res, MSSQL_ASSOC);
                $pass = $pass["_Fld204"];
                if ( strlen($pass) > 0 && $pass == $password ) {
                    $_SESSION["AUTH_V"] = "Y";
                    $_SESSION["LOGINSS"]= trim($login);
                }
                else {
                    $_SESSION["AUTH_V"] = "N";
                }
    
    
           }

    Кусок авторизации

    unst, 17 Февраля 2013

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    /**
     * Checks if a setting is enabled
     *
     * @api public
     */
    
    Manager.prototype.enabled = function (key) {
      return !!this.settings[key];
    };
    
    /**
     * Checks if a setting is disabled
     *
     * @api public
     */
    
    Manager.prototype.disabled = function (key) {
      return !this.settings[key];
    };

    https://github.com/LearnBoost/socket.io/blob/develop/lib/manager.js

    makc3d, 28 Января 2013

    Комментарии (3)
  7. JavaScript / Говнокод #12373

    +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
    function moveAll(objectFrom, objectTo)
    {
        var list_len = objectFrom.length;
        if (list_len > 0)
        {
            // i is 0 all the time in the loop
            for (i=0; objectFrom.length>0;)
            {
                var new_option = new Option (objectFrom[i].text, objectFrom[i].value);
                objectTo[objectTo.length] = new_option;
                objectFrom[i] = null;
            }
        }
    }

    Литералы — для лузеров (я имею в виду objectForm[0])!

    wissenstein, 28 Декабря 2012

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

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    progressbar = function(o,opt){
    	opt = (opt==null)?{}:opt
    ...
    }
    function merge2 (arr1,arr2){
    	for (var t in arr2){
    		if (arr1[t]) {}
    		else {arr1[t]=arr2[t]}
    	} 
    	return arr1;
    }

    автор явно не знает про знак логического отрицания, да и не только про него..
    (jsclasses.org)

    RedMonkey, 21 Ноября 2012

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

    +155

    1. 1
    2. 2
    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <link rel="stylesheet" href="/js/bootstrap.min.js">

    и долго думал какого фига у меня $.fn.tab undefined)

    nur, 08 Сентября 2012

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

    +155

    1. 1
    element.data('selected') ? element.show() : $.noop();

    Либо человек из ассемблера пришел, либо "IF" сильно ему по жизни насолил.

    InnerJoin, 11 Июля 2012

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    switch(navigator.appName) {
       case "Microsoft Internet Explorer":
          Key = "event.ctrlKey && event.keyCode == 13";
          document.onkeydown = get_key;
          break;
       case "Netscape":
          Key = "(e.modifiers == 2 && e.which == 10) || (e.ctrlKey && e.which == 13)";
          document.captureEvents(Event.KEYDOWN);
          document.onkeydown = get_key;
          break;
    }
    }
    
    function get_key(e) {
    if (eval(Key)) {
    	if (check_postform()){
    		check_submit();
    		document.postform.submit();
    		submit_once(document.postform);
    	} else {return false}
    }

    http://forum.ixbt.com/

    jQuery, 03 Июля 2012

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