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

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

    +166.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
    17. 17
    18. 18
    19. 19
    <?
    $mese[0]="-";
    $mese[1]="01";
    $mese[2]="02";
    $mese[3]="03";
    $mese[4]="04";
    $mese[5]="05";
    $mese[6]="06";
    $mese[7]="07";
    $mese[8]="08";
    $mese[9]="09";
    $mese[10]="10";
    $mese[11]="11";
    $mese[12]="12";
    
    $gisett=(int)date("w");
    $mesnum=(int)date("m");
    
    echo date("d")."/".$mese[$mesnum]."/".date("Y") ;?>

    Нашёл на форуме. Код 2004 года, но это не умаляет его достоинств.

    Int, 15 Апреля 2010

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

    +971.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    oi.Status = o.Active && o.ByCondition!=Condition.None && o.Time==DateTime.MinValue 
       ? OrderStatusType.Condition :
        o.Active
         ? OrderStatusType.Active
         : o.Cancelled
          ? OrderStatusType.Cancelled
          : o.Matched ? OrderStatusType.Matched : OrderStatusType.Unknown;

    Суровый такой, очень суровый код. Спартанец-неформал.

    terR0Q, 13 Апреля 2010

    Комментарии (9)
  4. VisualBasic / Говнокод #2990

    −125.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
    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
    Sub Макрос2()
        Dim pos0, pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9, digitPos As Integer
    
        For Counter = 2 To 999999
            digitPos = 1000
        
            Set curCell = Worksheets("Лист1").Cells(Counter, 5)
            Set primCell = Worksheets("Лист1").Cells(Counter, 6)
        
            pos0 = InStr(1, primCell.Value, "0")
            pos1 = InStr(1, primCell.Value, "1")
            pos2 = InStr(1, primCell.Value, "2")
            pos3 = InStr(1, primCell.Value, "3")
            pos4 = InStr(1, primCell.Value, "4")
            pos5 = InStr(1, primCell.Value, "5")
            pos6 = InStr(1, primCell.Value, "6")
            pos7 = InStr(1, primCell.Value, "7")
            pos8 = InStr(1, primCell.Value, "8")
            pos9 = InStr(1, primCell.Value, "9")
            
            If pos0 > 0 And pos0 < digitPos Then
                digitPos = pos0
            End If
            
            If pos1 > 0 And pos1 < digitPos Then
                digitPos = pos1
            End If
            
            If pos2 > 0 And pos2 < digitPos Then
                digitPos = pos2
            End If
            
            If pos3 > 0 And pos3 < digitPos Then
                digitPos = pos3
            End If
            
            If pos4 > 0 And pos4 < digitPos Then
                digitPos = pos4
            End If
            
            If pos5 > 0 And pos5 < digitPos Then
                digitPos = pos5
            End If
            
            If pos6 > 0 And pos6 < digitPos Then
                digitPos = pos6
            End If
            
            If pos7 > 0 And pos7 < digitPos Then
                digitPos = pos7
            End If
            
            If pos8 > 0 And pos8 < digitPos Then
                digitPos = pos8
            End If
            
            If pos9 > 0 And pos9 < digitPos Then
                digitPos = pos9
            End If
            
            'MsgBox Left(primCell.Value, digitPos - 1)
            
            curCell.Value = Trim(Left(primCell.Value, digitPos - 1))
        Next Counter
    End Sub

    Я идиот и не умею программировать в excel!!
    Мне надо было отрезать текст до первой цифры в одной ячейке и засунуть его в другую.
    Наверное, надо было почитать про массивы в VB

    striker, 12 Апреля 2010

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

    +144.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    A* arr = new A[size];
    std::vector<A*> vec(size);
    for(size_t i=0; i<size; ++i)
    	vec.push_back(&a[i])
    // Do something with vec
    delete[] arr;

    kokorins, 08 Апреля 2010

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

    +69.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
    List<Measure> meaList = q.getResultList();
            try
            {
                if (meaList.size() == 0)
                {
                    throw new Exception("Measure not found: "+_wsPrice.getMeasureIso());
                }
                else
                {
                    p.setMeasure(meaList.get(0));
                }
            }
            finally
            {
                meaList.clear();
            }

    А вот ещё порция паранойи от моего коллеги

    konsoletyper, 06 Апреля 2010

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

    +150.2

    1. 1
    $.noConflict();

    Гениально!

    eval, 05 Апреля 2010

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

    +170.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function isarray(obj){
    if (obj[0]) {return true} else {
    obj.push('Is array!');
    return (obj[0] == 'Is array!') ? true : false;
    }
    }

    eval, 03 Апреля 2010

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

    −119.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Для й = 1 По КонДата-НачДата+1 Цикл
            ТекДата = НачДата+й-1;
            
            ДокТ.ВыбратьДокументы(ТекДата, ТекДата);
            Пока ДокТ.ПолучитьДокумент() = 1 Цикл

    Копаясь в самописной конфе, с которой сейчас работаю, дописываю, и усердно исправляю чей-то быдлокод, временами нахожу просто уникальные творения.
    Пожалуй это творение - вершина извращенной фантазии)
    Думаю комментарии излишни)) автор перебирает дни, а потом отдельно по каждому дню делает выборку событий

    Lewkee, 31 Марта 2010

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

    +91.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
    {  Длинная арифметика. 
        [0] - длина числа
        [1..1000] - цифры в системе с основанием 10000, записанные в обратном порядке
    }
    type TLong = array[0..1000] of integer;
    
    procedure Add(A,B:TLong;var C:TLong);
    {Здесь идет процедура сложения в столбик - ничего интересного}
    procedure MulByShort(A:TLong;B:integer;var C:TLong); {умножение длинного на короткое}
        var i:integer;
    begin
        initByZero(C);{инициализация C нулями}
        for i:=1 to B do Add(C,A,C);
    end;

    Найдено в решении олимпиадной задачи на FreePascal. Обратите внимание на особо остроумный алгоритм умножения: надо же до такого додуматься. Также интересно, чем мотивирована передача массивов по значению.

    frp, 28 Марта 2010

    Комментарии (9)
  11. Java / Говнокод #2845

    +82.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for (int i = 0; i < list.size(); i++) {
            SpecialItem item = list.get(i);
            if (item != null) {
              item = null;
            }
    }
    list.clear();

    Неиндийский способ очистить java.util.List от вместимого.

    xrobak, 23 Марта 2010

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