1. SQL / Говнокод #11244

    −119

    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
    select a, trim(both ',' from max(SYS_CONNECT_BY_PATH(b, ',')))bb from (
      select count(1) over (partition by a order by /* Важно:*/ a,b /*!*/)rn, a, b from (
    
        select a, b from (
          select 1 a, 'a' b from dual union all
          select 1 a, 'b' b from dual union all
          select 2 a, 'c' b from dual union all
          select 2 a, 'd' b from dual union all
          select 2 a, 'e' b from dual union all
          select 3 a, 'f' b from dual
        ) order by dbms_random.value
    
      )
    )
    start with rn=1 connect by nocycle prior a=a and prior rn+1=rn
    group by a;

    Задача на агрегацию с конкатенацией строк. Можно решить правильно - через свой агрегирующий объект, а можно так, "не по правилам" ))

    RomaShka, 20 Июня 2012

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $('button').not('.noBind').bind('click',function(){
    	if(...)
    	{
    		if(...)
    		{
    			return false;
    		}
    	}
    	document.location=$(this).attr('rel')
    });

    Сидели ломали голову, отчего все кнопки на странице куда-то ломятся, а тут такое наследство откопалось. В js-ке, которая грузится всегда.

    speller, 20 Июня 2012

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

    +135

    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
    public TOscillPanel getOscillPanel(String nameTable, XmlNodeList parameters, String idCHPU)
            {
                var actions=new Dictionary<string, object>
                                {
                                    {"addParamOscill", new Action<string, string>(addParamOscill)},
                                    {"removeParamOscill", new Action<string, string>(removeParamOscill)},
                                    {"includeRealTimeMode",new Action<string>(includeRealTimeMode)}
                                };
                return (new TOscillPanel(nameTable, parameters, actions));
            }
    
    //...
                              ((Action<String, String>)_actions["addParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
                              ((Action<String, String>)_actions["addParamOscill"])(_tableChpu, idParameters);
    }
    else
    {
                            ((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, ((TOptionNode)_oscillTreeView.Nodes[0]).getId());
                            ((Action<String, String>)_actions["removeParamOscill"])(_tableChpu, idParameters);
    }

    Это практически единственные и основные упоминания в коде контейнера _actions.
    Говорила же мне мама: "возьми динамически типизированный язык", а я её не слушал. Не мне конечно же. Код из очень крупного частного проекта.
    Динамически типизированный язык тут конечно же не нужен. Просто создаем трудности, а потом стоически их решаем.

    Говногость, 19 Июня 2012

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

    −36

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    //установка режима реализма
    		void includeRealTimeMode()
    		{
    			TSerialCommand^ command = gcnew TSerialCommand;
    			command->cmd = CMD_CONTROL;
    			command->sc1 = SC_REAL_TIME_MODE;
    			command->sc2 = NULL; //_portManager.oscillFrequency;
    			_portManager.sendCommand(command);
    
    		}

    Команда включает (активирует) режим реального времени.
    C++\CLI

    Говногость, 19 Июня 2012

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

    +134

    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
    public static DataSet GetSomeDataSet()
    {
        DataSet ds = null;
        object locker = new object();
        lock (locker)
        {
            if (ds == null)
            {
                // тут инициализация ds
    
                return ds;
            }
            else return ds;
        }
    }

    Метод из работающей проги. Возпроизвёл по памяти, но суть именно такая.
    Насколько понимаю, человек хотел результаты работы метода кэшировать в локальную переменную.
    Да ещё и lock на локальную переменную, который никогда не используется.

    Ordos, 19 Июня 2012

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

    +78

    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
    String result = "";
    
    for (Object obj : col) {
        if (obj instanceof String) {
            result += obj + SEPARATOR;
        } else {
            result += obj.toString() + SEPARATOR;
        }
    }
    					
    if (result.length() >= 2) {
        result = result.substring(0, result.length() - SEPARATOR.length());
    }

    instanceof String доставил.
    Кстати, к проекту подключены apache.commons.lang и guava, так что способов сделать join строк предостаточно.

    roman-kashitsyn, 19 Июня 2012

    Комментарии (102)
  7. ActionScript / Говнокод #11229

    −167

    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
    public function getFiltersDescription () : IList
    {
    	var model : ITableBasedModuleModel = this.getTableBasedModel();
    	return model.filtersDescription;
    }
    
    public function getModuleTitle () : String
    {
    	var model : ITableBasedModuleModel = this.getTableBasedModel();
    	return model.getTitle();
    }
    
    //....
    private function getTableBasedModel () : ITableBasedModuleModel
    {
    	return this.model as ITableBasedModuleModel;
    }
    
    private function getTableBasedView () : ITableBasedModuleView
    {
    	return this.view as ITableBasedModuleView;
    }

    Java ооп головного мозга.

    kyzi007, 19 Июня 2012

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

    +110

    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
    if (M[1]<>M[2]) and (M[1]<>M[3]) and (M[1]<>M[4]) and (M[1]<>M[5]) and (M[1]<>M[6]) then
    begin
    if (M[1]<>M[7]) and (M[1]<>M[8]) and (M[1]<>M[9]) and (M[1]<>M[10]) then
    write('  ',M[1],'  ');
    end;
     
    if (M[2]<>M[1]) and (M[2]<>M[3]) and (M[2]<>M[4]) and (M[2]<>M[5]) and (M[2]<>M[6]) then
    begin
    if (M[2]<>M[7]) and (M[2]<>M[8]) and (M[2]<>M[9]) and (M[2]<>M[10]) then
    write('  ',M[2],'  ');
    end;
     
    if (M[3]<>M[1]) and (M[3]<>M[2]) and (M[3]<>M[4]) and (M[3]<>M[5]) and (M[3]<>M[6]) then
    begin
    if (M[3]<>M[7]) and (M[3]<>M[8]) and (M[3]<>M[9]) and (M[3]<>M[10]) then
    write('  ',M[3],'  ');
    end;
     
    if (M[4]<>M[1]) and (M[4]<>M[2]) and (M[4]<>M[3]) and (M[4]<>M[5]) and (M[4]<>M[6]) then
    begin
    if (M[4]<>M[7]) and (M[4]<>M[8]) and (M[4]<>M[9]) and (M[4]<>M[10]) then
    write('  ',M[4],'  ');
    end;
     
    if (M[5]<>M[1]) and (M[5]<>M[2]) and (M[5]<>M[3]) and (M[5]<>M[4]) and (M[5]<>M[6]) then
    begin
    if (M[5]<>M[7]) and (M[5]<>M[8]) and (M[5]<>M[9]) and (M[5]<>M[10]) then
    write('  ',M[5],'  ');
    end;
     
    if (M[6]<>M[1]) and (M[6]<>M[2]) and (M[6]<>M[3]) and (M[6]<>M[4]) and (M[6]<>M[5]) then
    begin
    if (M[6]<>M[7]) and (M[6]<>M[8]) and (M[6]<>M[9]) and (M[6]<>M[10]) then
    write('  ',M[6],'  ');
    end;
     
    if (M[7]<>M[1]) and (M[7]<>M[2]) and (M[7]<>M[3]) and (M[7]<>M[4]) and (M[7]<>M[5]) then
    begin
    if (M[7]<>M[6]) and (M[7]<>M[8]) and (M[7]<>M[9]) and (M[7]<>M[10]) then
    write('  ',M[7],'  ');
    end;
    readln;
     
    if (M[8]<>M[1]) and (M[8]<>M[2]) and (M[8]<>M[3]) and (M[8]<>M[4]) and (M[8]<>M[5]) then
    begin
    if (M[8]<>M[6]) and (M[8]<>M[7]) and (M[8]<>M[9]) and (M[8]<>M[10]) then
    write('  ',M[8],'  ');
    end;
     
    if (M[9]<>M[1]) and (M[9]<>M[2]) and (M[9]<>M[3]) and (M[9]<>M[4]) and (M[9]<>M[5]) then
    begin
    if (M[9]<>M[6]) and (M[9]<>M[7]) and (M[9]<>M[8]) and (M[8]<>M[10]) then
    write('  ',M[9],'  ');
    end;
     
    if (M[10]<>M[1]) and (M[10]<>M[2]) and (M[10]<>M[3]) and (M[10]<>M[4]) and (M[10]<>M[5]) then
    begin
    if (M[10]<>M[6]) and (M[10]<>M[7]) and (M[10]<>M[8]) and (M[10]<>M[9]) then
    write('  ',M[10],'  ');
    end;

    Циклы? Не, не слышал...

    HighPredator, 19 Июня 2012

    Комментарии (6)
  9. C++ / Говнокод #11227

    −30

    1. 1
    TTime childStartTime(TDateTime(2006, EJanuary, 8, 14, 0, 0, 0)); // January 9th 2pm

    Из примера calexample в symbian sdk.

    bormand, 19 Июня 2012

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

    +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
    <?php
    
    	switch(1==1) {
    	
    		case true;
    		
    			// ...
    		
    		break;
    		
    		case false;
    			
    			// ...
    			
    		break;
    	
    	}
    
    ?>

    Аналог конструкции if-else...

    killro0000, 18 Июня 2012

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