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

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public bool AddCellImage(Image Img, BaseAnalysisObjectsClassification AnAttr)
    {
        bool bRes = false;
        for (; ; )
        {
            AddCell(Img, AnAttr);
            bRes = true;
            break;
        }
        return bRes;
    }

    whirlwind, 17 Ноября 2015

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

    −99

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

    HomoAlbus, 11 Ноября 2015

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

    −96

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если ОтражатьВБухгалтерскомУчете = Истина Тогда
    		Если Лев(Номер, 3) <> ТекПрефикс Тогда	Номер = "";	УстановитьНовыйНомер(); КонецЕсли;
    	Иначе
    		Если Лев(Номер, 3) = ТекПрефикс Тогда	Номер = "";	УстановитьНовыйНомер(); КонецЕсли;
    КонецЕсли;

    В чем смысл проверки на соответствие префиксу остается только гадать...

    imxored, 10 Ноября 2015

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

    +8

    1. 1
    2. 2
    3. 3
    4. 4
    if (args.Length < 2 || args.Length == 3 || args.Length > 5 || args.Length > 2 && args[2] != "-n" && args[2] != "-t" || args.Length == 5 && args[4] != "-f" && args[4] != "-d" && args[4] != "-a")
    {
    	FindPrivateKey.PrintHelp();
    }

    Из майкрософтовского sample для поиска файлов приватных ключей.

    yamamoto, 29 Октября 2015

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

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php
    
    if($emailhide == 1 OR $emailhide == true OR $emailhide == 'true'){
            ...
    }

    m0003r, 14 Октября 2015

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

    +5

    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
    echo '<!DOCTYPE html> ';
    ?>
    <<?='h'.'t'.'m'.'l'?>>
    <<?='h'.'e'.'a'.'d'?>>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title><?php echo htmlspecialchars($content['meta_title'])?></title>
    <meta name="keywords" content="<?php echo htmlspecialchars($content['meta_keys'])?>">
    <meta name="description" content="<?php echo htmlspecialchars($content['meta_desc'])?>">
    <link rel='icon' href='/favicon.jpg' type='image/x-icon' /> 
    
    ...
    
    
    </<?='b'.'o'.'d'.'y'?>>
    </<?='h'.'t'.'m'.'l'?>>

    ору

    LesterTeheMolester, 12 Октября 2015

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

    +9

    1. 1
    return [null, null, null, true]; // Critical error

    зато наш код никогда не выбрасывает исключения

    strax, 07 Октября 2015

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

    +1

    1. 1
    https://i.imgur.com/S0Ti1EO.png

    Макаки - они везде.

    gost, 06 Октября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    /* удивляюсь логике человека, написавшего это */
    
    //echo $a;
    print($a);

    Smoren, 01 Октября 2015

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

    +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
    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
    StringBuilder errorMessage = new StringBuilder();
    int i = 0, j = 0;
    bool outcome = true;
    double value;
    string[] label = new string[] { label1.Text, label2.Text, label4.Text };
    
    textBox1.Text = textBox1.Text.Trim();
    textBox2.Text = textBox2.Text.Trim();
    textBox3.Text = textBox3.Text.Trim();
    
    foreach (string field in (new string[] { textBox1.Text, textBox2.Text, textBox3.Text }))
    {
    	try
    	{
    		if (field.Length == 0)
    			throw new Exception("отсутствует значение.\n");
    
    		if (j == 2)
    			value = int.Parse(field, NumberStyles.Integer);
    		else
    			value = double.Parse(field, NumberStyles.Float);
    
    		if (value <= 0)
    			throw new Exception("значение должно быть строго больше нуля.\n");
    
    		if (j == 2)
    		{
    			try
    			{
    				dateTimePicker1.Value.Date.AddMonths((int)value);
    			}
    			catch (Exception)
    			{
    				throw new Exception("превышено максимальное значение типа System.DateTime, " + DateTime.MaxValue.ToShortDateString() + ".\n" +
    									"Срок вклада не может превышать " + 
    									((DateTime.MaxValue.Year - dateTimePicker1.Value.Date.Year) * 12 +
    									DateTime.MaxValue.Month - dateTimePicker1.Value.Date.Month).ToString() + " мес. " + "от указанной даты оформления, " + dateTimePicker1.Value.Date.ToShortDateString() + ".\n");
    			}
    		}
    	}
    	catch (Exception e)
    	{
    		errorMessage.Append((++i).ToString() + ". " + label[j] + ": ");
    
    		switch (e.GetType().ToString())
    		{
    			case "System.FormatException":
    				errorMessage.AppendLine("неверный формат числа.\n");
    				break;
    
    			case "System.OverflowException":
    				{
    					if (j < 2)
    					{
    						errorMessage.AppendLine("значение не может быть обработано вещественным типом System.Double.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + double.MaxValue.ToString() + "].\n");
    					}
    					else
    					{
    						errorMessage.AppendLine("значение не может быть обработано целочисленным типом System.Int32.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + int.MaxValue.ToString() + "].\n");
    					}
    					break;
    				}
    
    			default:
    				errorMessage.AppendLine(e.Message);
    				break;
    		}
    
    		outcome = false;
    	}
    
    	j++;
    }

    Мастер исключений 80-го уровня.
    Хорошо, хоть не по мессаджам их разделяет.

    yamamoto, 28 Сентября 2015

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