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

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

    +71

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class CellEditor {
    
       protected CellEditor(Composite parent, int style) {
    	this.style = style;
    	create(parent);
       }
    
       public void create(Composite parent) { ... }
    
    }

    А вот это уже JFace...
    5 строка подарил много положительных эмоций, при попытке сконструировать кастомный CellEditor

    tir, 11 Февраля 2011

    Комментарии (17)
  3. Java / Говнокод #5611

    +77

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public void log(String msg) {
            try {
                StringBuffer sb = new StringBuffer(), sb2 = new StringBuffer();
                sb.append(getDeviceId()).append(": ").append(msg).append('\n');
                sb2.append("^^ ").append(sb);
                System.out.println(sb2.toString()); // Вывод в консоль
                platform.logEvent(msg.getBytes()); // Вывод в лог трубы
            } catch (Exception e) {
                // Ignore
            }
        }

    Проект под BlackBerry. Каменты мои.
    Ниасилил в чем соль двух стрингбуферов О_о

    Gsom11, 09 Февраля 2011

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

    +121

    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
    switch ((sender as Button).Name)
                {
                    case "req_edit":
                        edit.source = requests;
                        break;
    
                    case "desc_edit":
                        edit.source = description;
                        break;
    
                    case "inst_edit":
                        edit.source = install;
                        break;
    
                    case "del_edit":
                        edit.source = uninstall;
                        break;
                }

    Открытие редактора по клику на кнопку возле поля ввода

    Мартин, 05 Февраля 2011

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

    +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
    /*
     * лисапедный "including" в как бы шаблонах,
     * в глубокой древности, в случае отсутсвия CGI и прочих SSI...
     */
    
    <!-- Шаблон содержит... -->
    <script language="javascript" type="text/javascript" src="footer.tpl"></script>
    
    
    /* Содержание файла "footer.tpl"  */
    document.write('\
    	<p class="footer">\
    		©  Epic, Muhosransk\
    		<a href="mailto:address%40email.com" title="">address@email</a>\
    		+7 1230 45 67 89\
    	</p>\
    ');

    Поддался волне копания в старых кучах...

    istem, 05 Февраля 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!isset($caseMenu['child']))	{
    		$catsArr['list'][$caseMenu['parent']]['status'] = "active";				
    	}else{
    		$catsArr['list'][$caseMenu['parent']]['children']['list'][0]['status'] = "active";	
    	}

    помоему это охуенно

    warider, 03 Февраля 2011

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

    +172

    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
    //уничтожение буфера
    void delbuf(void* &bf, char ntype)
    {
    	if (ntype=='C')
    	{
    		if (bf!=(char*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='B')
    	{
    		if (bf!=(BYTE*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='I')
    	{
    		if (bf!=(int*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='F')
    	{
    		if (bf!=(double*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='D')
    	{
    		if (bf!=(double*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='W')
    	{
    		if (bf!=(WORD*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='L')
    	{
    		if (bf!=(long*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='S')
    	{
    		if (bf!=(short*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	if (ntype=='R')
    	{
    		if (bf!=(DWORD*) NULL) 
    		{
    			delete[] bf;
    			bf=NULL;
    		}
    		return;
    	}
    	return;
    }

    86 строк вместо простого delete [] bf

    glprizes, 02 Февраля 2011

    Комментарии (17)
  8. Pascal / Говнокод #5483

    +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
    procedure TForm1.Timer1Timer(Sender: TObject);
    var Ras, MinRas, MinC, Comp: Integer;
    begin
    Ras:=0;
    MinC:=0;
    MinRas:=0;      // всё по нулям
     for Comp:=0 to ComponentCount-1 do // цикл по всем компонентам
      begin
       IF (Components[Comp] is TPanel) and (Components[Comp] <> Panel1) and (Panel1.Left>TPanel(Components[Comp]).Left) then
                     Ras:=Panel1.Left-TPanel(Components[Comp]).Left
                     else
       IF (Components[Comp] is TPanel) and (Components[Comp] <> Panel1) and (Panel1.Left<TPanel(Components[Comp]).Left) then
                     Ras:=TPanel(Components[Comp]).Left-Panel1.Left;
       If Ras < MinRas
        then begin
                MinRas:= Ras;  //устанавливаем переменные этой панельки за основные
                MinC:= Comp;
        end;
      end;
       if Panel1.top<(TPanel(Components[MinC]).Top-TPanel(Components[MinC]).Height) then
                    Panel1.Top:=Panel1.Top+3;    //если панель ниже то допрыгиваем
      PROBEL:=Panel1.Top=TPanel(Components[MinC]).Top-TPanel(Components[MinC]).Height
      end;

    какое-то панельное безумие

    bugmenot, 02 Февраля 2011

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

    +149

    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
    mb_internal_encoding('utf-8');
    
    // Внимание, сейчас я покажу вам фокус, который только что открыл.
    
    $request = 'only eng symbols<span class="attention">Здесь могут быть русские символы</span>blah blah blah';
    $request = substr($request, strpos($request, '<span class="attention">'));
    echo mb_substr($request, 0, mb_strpos($request, '</span>')+7);
    
    // Запишем это чуть короче.
    
    $request = 'only eng symbols<span class="attention">Здесь могут быть русские символы</span>blah blah blah';
    echo mb_substr(substr($request, strpos($request, '<span class="attention">')), 0, mb_strpos($request, '</span>')+7);
    
    /* Магия интерпретатора PHP!
    На абсолютно одинаковый код он нам выдает:
    
    <span class="attention">Здесь могут быть русские символы</span>
    <span class="attention">Здесь могут быть русские символы</span>blah blah blah
    */

    7ion, 02 Февраля 2011

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

    −125

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

    Задача: сформировать артикул (число) из 7и знаков по формуле "максимальный артикул + 1". при этом тип реквизита - строка(7). В базе встречаются значения "945784 ", "98763443".

    alex-makhnev, 15 Января 2011

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private static $from=array('Ä','ä','Æ','æ','Ǽ','ǽ','Å','å','Ǻ','ǻ','À','Á','Â','Ã','à','á','â','ã','Ā','ā','Ă','ă','Ą','ą','Ǎ','ǎ','Ạ','Ạ','ạ','Ả','ả','Ấ','ấ','Ầ','ầ','Ẩ','ẩ','Ẫ','ẫ','Ậ','ậ','Ắ','ắ','Ằ','ằ','Ẳ','ẳ','Ẵ','ẵ','Ặ','ặ',					'Ç','ç','Ć','ć','Ĉ','ĉ','Ċ','ċ','Č','č',					'Ð','ð','Ď','ď','Đ','đ',					'È','É','Ê','Ë','è','é','ê','ë','Ē','ē','Ĕ','ĕ','Ė','ė','Ę','ę','Ě','ě','Ẹ','ẹ','Ẻ','ẻ','Ẽ','Ế','ế','Ề','ề','Ể','ể','ễ','Ệ','ệ','Ə','ə',					'ſ','ſ',					'Ĝ','ĝ','Ğ','ğ','Ġ','ġ','Ģ','ģ',					'Ĥ','ĥ','Ħ','ħ',					'Ì','Í','Î','Ï','ì','í','î','ï','Ĩ','ĩ','Ī','ī','Ĭ','ĭ','Į','į','İ','ı','Ǐ','ǐ','Ỉ','ỉ','Ị','ị',					'IJ','ij',					'fi','fl',					'Ĵ','ĵ',					'Ķ','ķ','ĸ',					'Ĺ','ĺ','Ļ','ļ','Ľ','ľ','Ŀ','ŀ','Ł','ł',					'Ñ','ñ','Ń','ń','Ņ','Ň','ň','ʼn','Ŋ','ŋ',					'Ö','ö','Ø','ø','Ǿ','ǿ','Ò','Ó','Ô','Õ','ò','ó','ô','õ','Ō','ō','Ŏ','ŏ','Ő','ő','Ǒ','ǒ','Ọ','ọ','Ỏ','ỏ','Ố','ố','Ồ','ồ','Ổ','ổ','Ỗ','ỗ','Ộ','ộ','Ớ','ớ','Ờ','ờ','Ở','ở','Ỡ','ỡ','Ợ','ợ','Ơ','ơ',					'Œ','œ',					'Ŕ','ŕ','Ŗ','ŗ','Ř','ř',					'Ś','ś','Ŝ','Ş','ş','Š','š',					'Ţ','ţ','Ť','ť','Ŧ','ŧ',					'Ü','ü','Ù','Ú','Û','ù','ú','û','Ụ','ụ','Ủ','ủ','Ứ','ứ','Ừ','ừ','Ữ','ữ','Ự','ự','Ũ','ũ','Ū','ū','Ŭ','ŭ','Ů','ů','Ű','ű','Ų','ų','Ǔ','ǔ','ǖ','ǘ','Ǚ','ǚ','Ǜ','ǜ','Ư','ư',					'Ŵ','ŵ','Ẁ','ẁ','Ẃ','ẃ','Ẅ','ẅ',					'Ý','ý','ÿ','Ŷ','ŷ','Ÿ','Ỳ','ỳ','Ỵ','ỵ','Ỷ','ỷ','Ỹ','ỹ',					'Þ','þ','ß',					'Ź','ź','Ż','ż','Ž','ž','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
     private static $to=array('ae','ae','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a',					'c','c','c','c','c','c','c','c','c','c',					'd','d','d','d','d','d',					'e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e','e',					'f','f',					'g','g','g','g','g','g','g','g',					'h','h','h','h',					'i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i','i',					'ij','ij',					'fi','fl',					'j','j',					'k','k','k',					'l','l','l','l','l','l','l','l','l','l',					'n','n','n','n','n','n','n','n','n','n',					'oe','oe','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o','o',					'oe','oe',					'r','r','r','r','r','r',					's','s','s','s','s','s','s',					't','t','t','t','t','t',					'ue','ue','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u','u',					'w','w','w','w','w','w','w','w',					'y','y','y','y','y','y','y','y','y','y','y','y','y','y',					'th','th','ss',					'z','z','z','z','z','z','a','b','v','g','d','e','e','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','ts','ch','sh','sch','','y','','e','yu','ya','a','b','v','g','d','e','e','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f','h','ts','ch','sh','sch','','y','','e','yu','ya');
     public static function translit($s,$tolower=false) {
      $s=str_replace(self::$from,self::$to,$s);
      if($tolower)	$s=strtolower($s);
      $s=preg_replace('/[^a-z0-9-_]+/i','-',$s);
      $s=trim($s,'-');
      return $s;
     }

    избавляемся от умляутов и проч.

    Lure Of Chaos, 05 Января 2011

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