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

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static bool AddStringIfNoExist(this List<string> strlist, string str)
    {
        if (str == "") return true;
        foreach (string s in strlist) if (s == str) return true;
        strlist.Add(str);
        return false;
    }

    Hashset? А что это такое?

    kerman, 29 Марта 2016

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

    −2

    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
    <?php
    echo '<form method="post">';
    echo '<select name="table" size="1" >';
    echo '<option selected="selected" value="second">Выберите ресурсы </option>';
    echo '<option value="zerno"> Зерно </option>';
    echo '<option value="kykyr"> Кукуруза </option>'; 
    echo '<option value="lucern"> Люцерна </option>'; 
    echo '<option value="korov"> Корова </option>'; 
    echo '<option value="svin"> Свинья </option>'; 
    echo '<option value="riba"> Рыба </option>'; 
    echo '<option value="kombik"> Комбикорм </option>'; 
    echo '<option value="xleb"> Хлеб </option>'; 
    echo '<option value="myaso"> Мясо </option>';
    echo '<option value="moloko"> Молоко </option>';
    echo '<option value="navoz"> Навоз </option>';
    echo '</select>';
    echo '<input type="submit" value="Выбрать" />';
    echo '</form>';
    
    if ($_POST['table']=='zerno') $table=$_POST['table'];
    if ($_POST['table']=='kykyr') $table=$_POST['table'];
    if ($_POST['table']=='lucern') $table=$_POST['table'];
    if ($_POST['table']=='korov') $table=$_POST['table'];
    if ($_POST['table']=='svin') $table=$_POST['table'];
    if ($_POST['table']=='riba') $table=$_POST['table'];
    if ($_POST['table']=='kombik') $table=$_POST['table'];
    if ($_POST['table']=='xleb') $table=$_POST['table'];
    if ($_POST['table']=='myaso') $table=$_POST['table'];
    if ($_POST['table']=='moloko') $table=$_POST['table'];
    if ($_POST['table']=='navoz') $table=$_POST['table'];

    sliper, 28 Марта 2016

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

    0

    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
    public destinationChanged(element: string): boolean {
                if (Boolean(this.scope.newDestination)) {
                    if (element == "input") {
                        return true;
                    } else {
                        return false;
                    }
                } else {
                    if (element == "select") {
                        return true;
                    } else {
                        return false;
                    }
                }
            }
    
    Разметочка:
    <div ng-show="controller.destinationChanged('select')">
    <!---->
     </div>
    
    <div ng-show="controller.destinationChanged('input')">
    <!---->
     </div>

    Удаление гланд широко известным способом

    kir_rik, 25 Марта 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
      * @brief Макрос вызова функции изменения имени файла лога ПИМ
      *
      * @param FILE_NAME  Имя файла лога
      *
      * @return Ничего
      */
    #define LOG_PIM_SET_FILE_NAME(FILE_NAME)  Soc::setLogFileName(FILE_NAME)

    Самый нужный макрос в мире

    cpp_best_practo, 17 Марта 2016

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

    +6

    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
    function utf8ToCp1251($s,$type="w") {
        if ((is_string($s) && strlen($s)>0) && ((mb_detect_encoding($s,'UTF-8,CP1251')) == "UTF-8"))    { 
            $out="";
            for ($c=0;$c<strlen($s);$c++)         { 
                $i=ord($s[$c]); 
                if ($i<=127) @$out.=$s[$c]; 
                if (@$byte2)     { 
                    $new_c2=($c1&3)*64+($i&63); 
                    $new_c1=($c1>>2)&5; 
                    $new_i=$new_c1*256+$new_c2; 
                    if ($new_i==1025) { 
                        $out_i=168; 
                    } else { 
                        if ($new_i==1105) { 
                            $out_i=184;
                        } else { 
                        $out_i=$new_i-848; 
                        } 
                    } 
                    @$out.=chr($out_i); 
                    $byte2=false; 
                } 
                
                if (($i>>5)==6)  { 
                  $c1=$i; 
                  $byte2=true; 
                } 
            } 
            return $out; 
        } 
        else return $s; 
    }

    Одна из стандартных функций битрикса.
    Видимо iconv им не знаком...

    tanur, 17 Марта 2016

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

    +4

    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
    private static void Main(string[] args)
            {
                var c1 = 1; var c2 = 0;
                Task.Run(() =>
                {
                    var f = new Func<int, int, int, int>((p, q, w) =>
                    {
                        Console.WriteLine(p + " " + q + " " + w);
                        Thread.Sleep(p);
                        Console.Beep(q + 264, w);
                        return 1;
                    });
                    int bi, a1, a2, a3;
                    bi = 33554432;
                    while (true)
                        bi = (int) Math.Pow(2, 24 - c2) + (a1 = 125) - a1 +
                             (a2 = (67075013 & bi) == bi
                                 ? ((63945802 & bi) == bi
                                     ? ((57539367 & bi) == bi ? 0 : 33)
                                     : ((57539367 & bi) == bi ? 88 : 66))
                                 : ((63945802 & bi) == bi ? ((57539367 & bi) == bi ? 132 : 176) : 202)) - a2 -
                             (a3 = c1%288 != 0
                                 ? (c1 *= 2) - c1 +
                                   (c1%64 == 0
                                       ? 1000 + (c1 /= 64) - c1 + (c1 *= 3) - c1
                                       : c1%8 == 0 ? 500 : (a1 = 250) - 125)
                                 : (c1%125 == 0 ? 1001 - (c1 /= 36000) : c1%25 == 0 ? 500 : c1%5 == 0 ? 125 : 250) +
                                   (c1 *= 5) - c1) + a3*f(a1, a2, a3) + ++c2 - c2 + (c2 %= 26) - c2 +
                             (c1 = c1 == 160 ? 1 : c1) - c1;
                });
                Console.ReadKey();
            }

    Вот так.

    qwe345asd, 07 Марта 2016

    Комментарии (10)
  8. C# / Говнокод #19567

    −8

    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
    if (table[0] == 1 && table[1] == 1 && table[2] == 1 ||
                            table[0] == 2 && table[1] == 2 && table[2] == 2 ||
                            table[3] == 1 && table[4] == 1 && table[5] == 1 ||
                            table[3] == 2 && table[4] == 2 && table[5] == 2 ||
                            table[6] == 1 && table[7] == 1 && table[8] == 1 ||
                            table[6] == 2 && table[7] == 2 && table[8] == 2 ||
                            table[0] == 1 && table[4] == 1 && table[8] == 1 ||
                            table[0] == 2 && table[4] == 2 && table[8] == 2 ||
                            table[2] == 1 && table[4] == 1 && table[6] == 1 ||
                            table[2] == 2 && table[4] == 2 && table[6] == 2 ||
                            table[0] == 1 && table[3] == 1 && table[6] == 1 ||
                            table[0] == 2 && table[3] == 2 && table[6] == 2 ||
                            table[1] == 1 && table[4] == 1 && table[7] == 1 ||
                            table[1] == 2 && table[4] == 2 && table[7] == 2 ||
                            table[2] == 1 && table[5] == 1 && table[8] == 1 ||
                            table[2] == 2 && table[5] == 2 && table[8] == 2)

    Боже, Крис! Они же ещё дети.

    d_fomenok, 02 Марта 2016

    Комментарии (10)
  9. 1C / Говнокод #19513

    −100

    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
    // 
    //Функция проверяет наличие товара на складе для проведения документа
    Функция СверкаОстатковТовараПоСкладу(Док)Экспорт
    	Отказ=Ложь;
    	ВыбСклад="";
    	ЗаказВРеализации=неопределено;
    	ЭтоЗаказ=Ложь; 
    	Если ТипЗнч(Док)=Тип("ДокументСсылка.ЗаказПокупателя") Тогда
    		 ВыбСклад=Док.СкладГруппа;
    		 ЭтоЗаказ=Истина;
    	ИначеЕсли ТипЗнч(Док)=Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда	 
    		ВыбСклад=Док.Склад;
    		Если СокрЛП(Док.Сделка)<>"" Тогда
    			Если ТипЗнч(Док.Сделка)=Тип("ДокументСсылка.ЗаказПокупателя") Тогда
    				ЗаказВРеализации=Док.Сделка;
    			КонецЕсли;	
    		КонецЕсли;	
    	Иначе
    		Возврат Отказ;
    	КонецЕсли;
        ТаблТовара=Док.Товары.Выгрузить();
    	
    	Если ТипЗнч(ТаблТовара)=Тип("ТаблицаЗначений") Тогда
    		СписокНом=ТаблТовара.ВыгрузитьКолонку("Номенклатура");
    		Если ЭтоЗаказ ИЛИ ЗаказВРеализации=неопределено Тогда  //Заказ или реализация не на основании заказа
    			Запрос=Новый Запрос;
    			Запрос.Текст="ВЫБРАТЬ
    			|	ТоварыНаСкладахОстатки.Номенклатура,
    			|	СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
    			|ИЗ
    			|	РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата, Склад = &Склад) КАК ТоварыНаСкладахОстатки
    			|ГДЕ
    			|	ТоварыНаСкладахОстатки.Номенклатура В ИЕРАРХИИ(&Номенклатура)
    			|
    			|СГРУППИРОВАТЬ ПО
    			|	ТоварыНаСкладахОстатки.Номенклатура";
    			
    			Запрос.УстановитьПараметр("Номенклатура",СписокНом);
    			Запрос.УстановитьПараметр("КонДата",Док.Дата);
    			Запрос.УстановитьПараметр("Склад",ВыбСклад);
    			Рез=Запрос.Выполнить().Выгрузить();
    			ТаблТовара.Свернуть("Номенклатура,ЕдиницаИзмерения,Коэффициент","Количество");
    			Для каждого Стр из ТаблТовара Цикл
    				СтрОстаток=Рез.Найти(Стр.Номенклатура,"Номенклатура");
    				Если СтрОстаток=Неопределено Тогда //Нет остатка товара
    					 Сообщить("Остаток товара:  "+СокрЛП(Стр.Номенклатура)+"  на складе:  "+СокрЛП(ВыбСклад)+" =0");
    					 Отказ=Истина;
    				//	 Прервать;
    				Иначе
    					 Остаток=СтрОстаток.КоличествоОстаток;
    					 Если Остаток<(Стр.Количество*Стр.Коэффициент)Тогда
    						 Сообщить("Остаток товара:  "+СокрЛП(Стр.Номенклатура)+"  на складе:  "+СокрЛП(ВыбСклад)+" ="+СокрЛП(Остаток)+"  требуется ="+СокрЛП(Стр.Количество*Стр.Коэффициент));
    						 Отказ=Истина;
    					 КонецЕсли;	 
    				КонецЕсли;	 
    			КонецЦикла;	
    		Иначе	//Реализация на основании заказа
    			ТаблТовара.Свернуть("Номенклатура,ЕдиницаИзмерения,Коэффициент","Количество");
    			ТоварВЗаказе=ЗаказВРеализации.Товары.Выгрузить();
    			Для каждого Стр из ТаблТовара Цикл
    				СтрЗаказ=ТоварВЗаказе.Найти(Стр.Номенклатура,"Номенклатура");
    				Если СтрЗаказ=Неопределено Тогда //Нет остатка товара
    					 Сообщить("Требуется:  "+СокрЛП(Стр.Номенклатура)+"  "+СокрЛП(Стр.Количество*Стр.Коэффициент)+"  в заказе:  "+" =0  "+СокрЛП(Стр.Номенклатура.ЕдиницаХраненияОстатков));
    					 Отказ=Истина;
    				//	 Прервать;
    				Иначе
    					 Остаток=(СтрЗаказ.Количество*СтрЗаказ.Коэффициент);
    					 Если Остаток<(Стр.Количество*Стр.Коэффициент)Тогда
    					 	 Сообщить("Требуется:  "+СокрЛП(Стр.Номенклатура)+"  "+СокрЛП(Стр.Количество*Стр.Коэффициент)+"  в заказе:  "+" = "+СокрЛП(Остаток)+" "+СокрЛП(Стр.Номенклатура.ЕдиницаХраненияОстатков));
    						 Отказ=Истина;
    					 КонецЕсли;	 
    				КонецЕсли;	 
    			КонецЦикла;	
    		КонецЕсли;	
    	КонецЕсли;
    	Возврат Отказ;
    КонецФункции

    !!!!!!!!!!!!!!!!!!

    saturn5, 22 Февраля 2016

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

    0

    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
    function Calc() {
    
    var af = parseInt(document.getElementsByName("a"));
    var ad=af.value;
    
    var bf = parseInt(document.getElementsByName("b"));
    var bd=bf.value;
    
    var a = parseInt(ad)
    
    var b = parseInt(bd)
    
    alert("Результат: " + (a+b))
    }
    
    function CalcMi() {
    
    var af = parseInt(document.getElementsByName("a"));
    var ad=af.value;
    
    var bf = parseInt(document.getElementsByName("b"));
    var bd=bf.value;
    
    var a = parseInt(ad)
    
    var b = parseInt(bd)
    
    alert("Результат: " + (a-b))
    }
    
    function CalcX() {
    
    var af = parseInt(document.getElementsByName("a"));
    var ad=af.value;
    
    var bf = parseInt(document.getElementsByName("b"));
    var bd=bf.value;
    
    var a = parseInt(ad)
    
    var b = parseInt(bd)
    
    alert("Результат: " + a*b)
    }
    
    function CalcDX() {
    
    var af = parseInt(document.getElementsByName("a"));
    var ad=af.value;
    
    var bf = parseInt(document.getElementsByName("b"));
    var bd=bf.value;
    
    var a = parseInt(ad)
    
    var b = parseInt(bd)
    
    alert("Результат: " + a/b)
    }

    от школьника

    mittorn, 19 Февраля 2016

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

    −1

    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
    <?php
    	global $userinfo;
    	global $smarty;
    	global $cl;
    	$userinfo['id'] = 0;
    	$userinfo['name'] = '';
    	$userinfo['email'] = '';
    	$userinfo['phone'] = '';
    	$userinfo['url'] = '';
    	$userinfo['company'] = '';
    	$userinfo['type'] = '';
    
    	$flogin = def_var('flogin','');
    	$fpasswd = def_var('fpasswd','');
    	$fremember = def_var('fremember',0);
    	if ($fpasswd) {
    		$fpasswd = md5($fpasswd);
    		$_SESSION["se_login"] = $flogin;
    		$_SESSION["se_passwd"] = $fpasswd;
    	} elseif (isset($_COOKIE["co_login"]) && isset($_COOKIE["co_passwd"])) {
    		$_SESSION["se_login"] = $_COOKIE['co_login'];
    		$_SESSION["se_passwd"] = $_COOKIE['co_passwd'];
    	}
    	$auth_msg = '';
    	if (isset($_SESSION["se_login"]) && isset($_SESSION["se_passwd"])) {
    		$a_query = "select id,name,company,email,phone,url,type from user where login='" .
    								$_SESSION["se_login"] . "' and passwd='" .
    								$_SESSION["se_passwd"] . "' and status=1";
    		$a_res = mysql_query($a_query);
    		if (mysql_num_rows($a_res) > 0) {
    			$ip_res = mysql_query("select ip from ipban where ip='".$_SERVER['REMOTE_ADDR']."'");
    			if (!mysql_num_rows($ip_res)) {
    				if ($fremember == 1) {
    					setcookie("co_login",$_SESSION["se_login"],time()+60*60*24*10000,"/", $_SERVER['SERVER_NAME']);
    					setcookie("co_passwd",$_SESSION["se_passwd"],time()+60*60*24*10000,"/", $_SERVER['SERVER_NAME']);
    				}
    				list($userinfo['id'],$userinfo['name'],$userinfo['company'],$userinfo['email'],$userinfo['phone'],
    					$userinfo['url'],$userinfo['type']) =
    					mysql_fetch_row($a_res);
    				mysql_query("update user set last_ip = '".$_SERVER['REMOTE_ADDR']."' where id=".$userinfo['id']);
    			} else {
    				$auth_msg = $cl['authorization_error'];
    			}
    		} else {
    			unset($_SESSION["se_login"]);
    			unset($_SESSION["se_passwd"]);
    			$auth_msg = $cl['authorization_error'];
    		}
    	}
    	if (isset($smarty)) {
    		$smarty->assign('auth_msg',$auth_msg);	
    	}
    ?>

    Типо авторизация

    roman_gemini, 12 Февраля 2016

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