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

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

    +142

    1. 1
    2. 2
    3. 3
    TCompareType = (ctGT, ctGE, ctLT, ctLE, ctEQ, ctNE, ctIsIn, ctNIsIn,
        ctLike, ctNLike, ctNull, ctNNull, ctBetween, ctNotBetween, ctExists,
        ctNotExists);

    Преклоняюсь перед истинным ниндзя. Ходил не обращал на ...код, но видимо я осознал глубокий смысл этого пути).

    ViktorR, 28 Апреля 2015

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

    +142

    1. 1
    this.reparent = function (new_parent) {var el = this.element; el.parentNode.removeChild(el); new_parent.appendChild(el);}

    Наткнулся в старом, но ещё работающем коде. Может быть, это даже я написал. Надеюсь, что нет.
    …Нет, похоже, всё-таки не я. Я бы не назвал класс подсвеченного элемента hilited, даже десять лет назад. Похоже, это босс писал.

    torbasow, 27 Апреля 2015

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

    +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
    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
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    ini_set('memory_limit', '100M'); // to be safe we are increasing the memory limit for search
    
    include_once $_SERVER['PHP_ROOT'].'/html/init.php'; // final lib include
    include_once $_SERVER['PHP_ROOT'].'/lib/s.php';
    include_once $_SERVER['PHP_ROOT'].'/lib/browse.php';
    include_once $_SERVER['PHP_ROOT'].'/lib/events.php';
    include_once $_SERVER['PHP_ROOT'].'/lib/websearch_classifier/websearch_classifier.php';
    
    flag_allow_guest();
    $user = search_require_login();
    
    if ($_POST) {
      $arr = us_flatten_checkboxes($_POST, array('ii'));
      $qs = '?';
      foreach($arr as $key = > $val) {
        $qs. = $key.'='.urlencode($val).'&';
      }
      $qs = substr($qs, 0, (strlen($qs) - 1));
      redirect($_SERVER['PHP_SELF'].$qs);
    }
    
    // If they performed a classmates search, these values are
    // needed to pre-populate dropdowns
    param_get_slashed(array('hy' = > $PARAM_STRING, 'hs' = > $PARAM_INT, 'adv' = > $PARAM_EXISTS, 'events' = > $PARAM_EXISTS, 'groups' = > $PARAM_EXISTS, 'classmate' = > $PARAM_EXISTS, 'coworker' = > $PARAM_EXISTS));
    $pos = strpos($get_hy, ':');
    if ($pos !== false) {
      $hsid = intval(substr($get_hy, 0, $pos));
      $hsyear = intval(substr($get_hy, $pos + 1));
    } else {
      $hsid = intval($get_hs);
      $hsyear = null;
    }
    
    tpl_set('hs_id', $hsid);
    tpl_set('hs_name', get_high_school($hsid));
    tpl_set('hs_year', $hsyear);
    tpl_set('is_advanced_search', $get_adv);
    tpl_set('user', $user);
    tpl_set('count_total', 0); // pre-set count_total for the sake of ads page length
    
    // Events search calendar data
    param_get(array('k' = > $PARAM_HEX, 'n' = > $PARAM_SINT));
    
    if (($get_k == search_module::get_key(SEARCH_MOD_EVENT, SEARCH_TYPE_AS))) {
    
      $EVENTS_CAL_DAYS_AHEAD = 60;
      $events_begin = strftime("%Y%m01"); // first of the month
      $events_end = strftime("%Y%m%d", strtotime(strftime("%m/01/%Y")) + (86400 * $EVENTS_CAL_DAYS_AHEAD));
      $events_params = array('dy1' = > $events_begin, 'dy2' = > $events_end);
    
      param_get(array('c1' = > $PARAM_INT, 'c2' = > $PARAM_INT), 'evt_');
      if (isset($evt_c1)) {
        $events_params['c1'] = $evt_c1;
      }
      if (isset($evt_c2)) {
        $events_params['c2'] = $evt_c2;
      }
      $results = events_get_calendar($user, $get_n, $events_params);
      tpl_set('events_date', $results['events_date']);
    }
    
    
    
    
    // Holy shit, is this the cleanest fucking frontend file you've ever seen?!
    ubersearch($_GET, $embedded = false, $template = true);
    
    // Render it
    render_template($_SERVER['PHP_ROOT'].'/html/s.phpt');
    
    /**
     * login function for s.php
     *
     * @author Philip Fung
     */
    
    function search_require_login() {
    
      //check if user is logged in
      $user = require_login(true);
    
      if($user 0 && !is_unregistered($user)) { return $user; }
    
      // this is an unregistered user
      param_get(
        array('k' = > $GLOBALS['PARAM_HEX'], // search key (used by rest of ubersearch code)
      ));
    
      global $get_k;
      $search_key = $get_k;
    
      //Let user see event or group search if criteria are obeyed
      if ($search_key && (search_module::get_key_type($search_key) == SEARCH_MOD_EVENT || search_module::get_key_type($search_key) == SEARCH_MOD_GROUP) //event or group search
      ) {
        return $user;
      } else {
        go_home();
      }
    }

    /*
    * @author Mark Slee
    *
    * @package ubersearch
    */


    Фейсбук и даты. Можете топить.

    inkanus-gray, 26 Апреля 2015

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

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (false == very_long_function(arg1, arg2, ...)) 
    {
        if (false == very_long_other_function(even_more_args) 
        {
            do_something();
        }
        else 
        {   
            do_something_else();
        }
    }

    И вот такими многоэтажками забит весь проект.

    codemonkey, 26 Апреля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    function getPLpgSqlUpdateTimestampFuncTpl() {
    //
    }

    а не сильно ли информативно?

    artembegood, 23 Апреля 2015

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

    +142

    1. 1
    2. 2
    <?php
    require_once dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/lib/cache/MCache.php';

    Без комментариев =)

    newx, 22 Апреля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    try {
    	connection.executeQuery("select to_date('" + this.getMonth() + "', 'yyyyMM') from dual", null);
    } catch (Exception e) {
    	logger.error(e.getMessage(), e);
    	Error = true;
    	fault.addError(8, 100);
    	return;
    }

    Лучший способ по проверке корректности даты

    this.getMonth() - возвращает дату из пришедшего запроса

    mrFoxs, 22 Апреля 2015

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

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if ((subchannel == undefined || "none") && (subsubchannel == undefined || "none")) {
        subchannel = channel;
        subsubchannel = subchannel;
    } else if ((subchannel != undefined || "none") && (subsubchannel == undefined || "none")) {
        subsubchannel = subchannel;
    } else if ((subchannel == undefined || "none") && (subsubchannel != undefined || "none")) {
        subchannel = channel;
    } else {
        subchannel = subchannel;
        channel = channel;
    }

    Скопировал из похожего проекта не глядя, и потом удевляюсь что херня получается. А там ведь как-то работает, бля...

    russling, 21 Апреля 2015

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

    +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
    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
    function ValidateSignupData()
    {
        var username = $('#signup-name').val();
        var password = $('#signup-password').val();
        var password_confirm = $('#signup-password-confirmation').val();
        var email = $('#signup-email').val();
        var type_payment = $('#signup-payment').val();
        var card_numb = $('#signup-numb').val();
    
        if(username.length()>0) {
            if(password.length()>0) {
                if(password_confirm.length()>0) {
                    if (password == password_confirm) {
                        if(card_numb.length()>0 && card_numb.length()<14) {
                        }
                        else {
                            $('#message-signup').text('Поле "Номер карты" слишком короткое');
                        }
                    }
                    else {
                        $('#message-signup').text('Пароли не совпадают');
                    }
                }
                else
                {
                    $('#message-signup').text('Поле "Подтверждение пароля" не заполнено');
                }
        }
        else 
            {
            $('#message-signup').text('Поле "Пароль" не заполнено');
        }
        }
        else {
            $('#message-signup').text('Поле "Имя" не заполнено');
        }
    }

    Простейшая валидация формы.

    qstd, 21 Апреля 2015

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

    +142

    1. 1
    $listing_split_query = $listing_split_query_pieces[0]." and p.products_sort_order >= $last_sort and p.products_sort_order < $listing_split_limit order by".$listing_split_query_pieces[1]; // crazy hack for cool sort, sorry ;)

    sevenflash, 21 Апреля 2015

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