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

    В номинации:
    За время:
  2. 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)
  3. Objective C / Говнокод #18012

    −411

    1. 1
    2. 2
    NSDate *dateFromString = [[NSDate alloc] init];
    dateFromString = [dateFormatter dateFromString:cell.textFieldCell.text];

    Когда человек не знает, что делает

    ep_fl, 17 Апреля 2015

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

    +839

    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
    protected virtual string GetParentTableControlID()
            {
                try
                {
                    if (this.Parent is BaseApplicationTableControl) return this.Parent.ID;
                    if (this.Parent.Parent is BaseApplicationTableControl) return this.Parent.Parent.ID;
                    if (this.Parent.Parent.Parent is BaseApplicationTableControl) return this.Parent.Parent.Parent.ID;
                    if (this.Parent.Parent.Parent.Parent is BaseApplicationTableControl) return this.Parent.Parent.Parent.Parent.ID;
                }
                catch (Exception)
                {
                }
                return "";
            }

    greyb, 03 Апреля 2015

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
        $('#field_9').mask('+7 (999) 999-99-99');
    } catch (e) {
        $('#field_9').mask('+7 (999) 999-99-99');
    }

    Не получилось с первого раза? Получится со второго!

    jbot, 26 Марта 2015

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

    +162

    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
    if(isset($_POST['submit']) AND $_POST['submit'] == 'add_program')
          {
             if($this->form_validation->run('add_program') == TRUE)
             {
                // Добавляем программу обучения
                $this->Settings_model->add_program($_POST['title']);
                $id = $this->db->insert_id();
                for ($x = 0; $x < 61; $x++)
                {
                   if ($x <= 12) 
                   {
                      $title = $x;
                      $year = 1;
                   }
                   elseif ($x > 12 AND $x <= 24) 
                   {
                      if($x == 13) {$title = 1;}
                      if($x == 14) {$title = 2;}
                      if($x == 15) {$title = 3;}
                      if($x == 16) {$title = 4;}
                      if($x == 17) {$title = 5;}
                      if($x == 18) {$title = 6;}
                      if($x == 19) {$title = 7;}
                      if($x == 20) {$title = 8;}
                      if($x == 21) {$title = 9;}
                      if($x == 22) {$title = 10;}
                      if($x == 23) {$title = 11;}
                      if($x == 24) {$title = 12;}
                      $year = 2;
                   }
                   elseif ($x > 24 AND $x <= 36) 
                   {
                      if($x == 25) {$title = 1;}
                      if($x == 26) {$title = 2;}
                      if($x == 27) {$title = 3;}
                      if($x == 28) {$title = 4;}
                      if($x == 29) {$title = 5;}
                      if($x == 30) {$title = 6;}
                      if($x == 31) {$title = 7;}
                      if($x == 32) {$title = 8;}
                      if($x == 33) {$title = 9;}
                      if($x == 34) {$title = 10;}
                      if($x == 35) {$title = 11;}
                      if($x == 36) {$title = 12;}
                      $year = 3;
                   }
                   elseif ($x > 36 AND $x <= 48) 
                   {
                      if($x == 37) {$title = 1;}
                      if($x == 38) {$title = 2;}
                      if($x == 39) {$title = 3;}
                      if($x == 40) {$title = 4;}
                      if($x == 41) {$title = 5;}
                      if($x == 42) {$title = 6;}
                      if($x == 43) {$title = 7;}
                      if($x == 44) {$title = 8;}
                      if($x == 45) {$title = 9;}
                      if($x == 46) {$title = 10;}
                      if($x == 47) {$title = 11;}
                      if($x == 48) {$title = 12;}
                      $year = 4;
                   }
                   else
                   {
                      if($x == 49) {$title = 1;}
                      if($x == 50) {$title = 2;}
                      if($x == 51) {$title = 3;}
                      if($x == 52) {$title = 4;}
                      if($x == 53) {$title = 5;}
                      if($x == 54) {$title = 6;}
                      if($x == 55) {$title = 7;}
                      if($x == 56) {$title = 8;}
                      if($x == 57) {$title = 9;}
                      if($x == 58) {$title = 10;}
                      if($x == 59) {$title = 11;}
                      if($x == 60) {$title = 12;}
                      $year = 5;
                   }
                   
                   if($x != 0)
                   {
                      // Добавляем месяцы обучения
                      $this->Settings_model->add_tutorial_months($id,$year,$title);
                   }
                }

    Тяжело супортить чейто проект

    Zilot, 23 Марта 2015

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

    +160

    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
    function displayFilterElements(typeList){
    	_filter.form.elements["name1"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name2"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["nam3"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name4"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name5"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name6"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name7"].closest("tr").hidden = (typeList === "Type1") ? false : true;
    	_filter.form.elements["name8"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name9"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name10"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name11"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name12"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name13"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name14"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name15"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name16"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name17"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name18"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name19"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name20"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name21"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name22"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name23"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name24"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name25"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name26"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name27"].closest("tr").hidden = (typeList === "Type2") ? false : true;
    	_filter.form.elements["name28"].closest("tr").hidden = (typeList === "Type3") ? true : false;
    	_filter.form.elements["name29"].closest("tr").hidden = (typeList === "Type3") ? false : true;
    };
    	
    function stateFilterElements(){
    	let select = false;
    	["name1", "name2", "name3", "name4", "name5", "name6", "name7", "name8", "name9", "name10", "name11", "name12", "name13"].forEach(function(fieldName){
    		if ($.query.hashJSON.has(fieldName))
    			select = true;
    	});
    	return select;
    }

    Получил в доработку модуль сотрудника. Идентификаторы изменены для публикации, не в них суть.

    torbasow, 17 Марта 2015

    Комментарии (2)
  8. Си / Говнокод #17800

    +132

    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
    void calendar(int year){
        int i, j, k, frst=1, week, length, day = 0;
        printf("                               ");
        if(year < 1000) printf(" ");
        printf("%d\n\n", year);
        int first[3];   // число начала недели (первая неделя - любой день недели, следющие - понедельник)
        for(i = 1; i <= 4; ++i){
            print_tetral(i);
            first[1] = weekday(1, 1, 1, 1, 1, i*3-2, year);
            first[2] = weekday(1, 1, 1, 1, 1, i*3-1, year);
            first[3] = weekday(1, 1, 1, 1, 1, i*3, year);
            length = max(weeks_in_month(i*3-2, year), \
                         weeks_in_month(i*3-1, year), \
                         weeks_in_month(i*3, year));
            for(week = 0; week < length; ++week){
                for(j = 1; j <= 3; ++j){
                    frst = first[j];
                    if(week > 0) frst = 1;
                    if(week == 0)
                        for(k = 1; k < first[j]; ++k)
                            printf("   ");
                    k = frst;
                    day = 0;
                    while(k <= 7 && day < days_in_month(i*3-3+j, year) && week < weeks_in_month(i*3-3+j, year)){
                        day = 7*week + k - first[j] + 1;
                        if(day > days_in_month(i*3-3+j, year)) break;
                        if(day < 10) printf(" %d ", day);
                        else if(day >= 10) printf("%d ", day);
                        ++k;
                    }
                    if(week == length - 1 || day >= days_in_month(i*3-3+j, year))
                        for(; k <= 7; ++k)
                            printf("   ");
                    printf("  ");
                }
                printf("\n");
            }
            printf("\n");
        }
    }

    Печатаем календарь.

    alobanov, 16 Марта 2015

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

    +128

    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
    HTML:
    <div id="calendar">
    		<div class="day">
    		<span class="num_job">5</span>
    			<span class="num_day">1</span>
    			<span class="name_day">пн</span>
    			<br/>
    			<span class="month">янв</span>
    			
    			
    			<span class="importance"></span>
    		</div>	
    		<div class="day">
    		<span class="num_job">12</span>
    			<span class="num_day">2</span>
    			<span class="name_day">вт</span>
    			<br/>
    			<span class="month">янв</span>
    			
    			
    			<span class="importance"></span>
    		</div>
    </div>
    CSS:
    body{
    	background: #ddd;
    	width: 1064px;
      margin: 0 auto;
    }
    #calendar{
    	width: 1064px;
    	margin: 0 auto;
    /*	height: 500px;*/
    display: inline-block;
    	background: #fff;
    }
    .day{
    	background: #f1f6f7;
    	border: 1px solid #dddbdb;
    	width: 130px;
    	height: 130px;
    	float: left;
    	margin: 10px;
    }
    .day:hover{
    	background: #6EB1BE;
    	cursor: pointer;
    }
    .day:hover .num_day, .day:hover .month, .day:hover .name_day{
    	color: #fff;
    }
    .day:hover .num_job{
    	color: #6EB1BE;
    	background: #fff;
    }
    
    .num_day{
    	font-family: Arial;
    	font-size: 72px;
    	font-weight: bold;
    	color: #1e99f7;	
    	position: relative;
    	top: -15px;
    	left: 15px;
    	letter-spacing: -6px;
    }
    .month, .name_day{
    	position: relative;
    	font-family: Arial;
    	font-size: 24px;
    	color: #1e99f7;	
    }
    .month{
    	top: -25px;
    	left: 37px;
    }
    
    .name_day{
      font-size: 11px;
      top: -12px;
      left: 15px;
    }
    .num_job{
    	background: #1e99f7;
    	color: #fff;
    	display: block;
    	width: 25px;
    	height: 25px;
    	line-height: 25px;
    	text-align: center;
    	border-radius: 100%;
    	font-family: Arial;
    	font-size: 17px;
    	font-weight: bold;
    	position: relative;
    	top: 5px;
    	left: 100px;
    }

    Вот я сверстал календарик. Подойдёт ли такой код для рабочего варианта? Что добавить? Что убрать? Как будет лучше?

    Simasik, 16 Марта 2015

    Комментарии (2)
  10. Си / Говнокод #17748

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    UInt64 unpackSizeSpec =
            p->UnpackPositions[p->FolderStartFileIndex[folderIndex + 1]] -
            p->UnpackPositions[p->FolderStartFileIndex[folderIndex]];
        size_t unpackSize = (size_t)unpackSizeSpec;
    
        if (unpackSize != unpackSizeSpec)
          return SZ_ERROR_MEM;

    Из недр lzma sdk.
    По заверениям разработчиков:
    > ... может использоваться любым современным 32-битным процессором (или, при определенных условиях 16-битным CPU).
    Очевидно что этот код вернет SZ_ERROR_MEM на 32-разрядной платформе, если unpackSizeSpec выходит за границы 32-битного числа.
    На самом то деле все логично - пользователь просто посылается на хуй, если его нищебродское устройство не тянет такого толстого архива, но тогда утверждение разработчиков о безпроблемном использовании на любой кофеварке становится пиздежью.

    Pythoner, 08 Марта 2015

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $save=$_POST['save'];
    	if ($save == 'yes') {
    		$cont=mysql_real_escape_string_ir($_POST['cont']);
    
    		@mysql_query("DELETE FROM ".$tables['_page']." WHERE id_kat='$id_kat'");
    		@mysql_query("INSERT INTO ".$tables['_page']." (id_kat, txt, dt) VALUES ('$id_kat', '$cont', NOW())");
    
    		deleteCache($id_kat, $cid, $insert_id, 'pages', $cont);
    		insertCache($id_kat, $cid, $insert_id, 'pages', $cont);
    	};

    Код из админки сайта, разработанного студией "Интернет Решения" (IRSite)

    Djiggo, 05 Марта 2015

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