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

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

    +61.3

    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
    bool SetVars()
    {
    	int i = 0;
    	int j = 0;
    
    	if (em == NULL)
    	{
    		Delay(0.001f);
    		return false;
    	};
    	
    	_end = em->end;
    	_max = em->max;
    	_min = em->min;
    	
                 //...

    В чем логика? Не могу понять...

    Говногость, 25 Января 2010

    Комментарии (30)
  3. Си / Говнокод #2302

    +99.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #include "org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem.h"
    ...
    JNIEXPORT jlong JNICALL Java_org_herac_tuxguitar_player_impl_midiport_oss_MidiSystem_malloc(JNIEnv* env, jobject obj) {
        ...
    }

    Взято из TuxGuitar

    xaionaro, 19 Декабря 2009

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

    +929.5

    1. 1
    2. 2
    if (a == null == false) {
    }

    когда проверял чужой код пол часа смотрел пока понял что чувак просто не умеет писать if (а != null)

    guest, 14 Декабря 2008

    Комментарии (30)
  5. Pascal / Говнокод #27

    +24

    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
    program Project1;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    type
      Деньга = record
        Достоинство:integer;
        Количество:integer;
      end;
    
    var
      Лопатник: array of Деньга;
    
    procedure ПоложитьНаЛопату(Купюра:Integer);
    var
      I: Integer;
      УжеПоложили:Boolean;
    begin
      if Купюра=0 then
        Exit;
      УжеПоложили:=False;
      for I := low(Лопатник) to High(Лопатник) do
        if Лопатник[i].Достоинство=Купюра then
          begin
            inc(Лопатник[i].Количество);
            УжеПоложили:=True;
          end;
      if not(УжеПоложили) then
        begin
          SetLength(Лопатник,Length(Лопатник)+1);
          Лопатник[High(Лопатник)].Достоинство:=Купюра;
          Лопатник[High(Лопатник)].Количество:=1;
        end;
    end;
    
    var
      Купюра:integer;
      i:integer;
      ВсегоНаЛопате:integer;
    begin
      repeat
        Readln(Купюра);
        ПоложитьНаЛопату(Купюра);
      until Купюра=0;
      ВсегоНаЛопате:=0;
      for I := low(Лопатник) to High(Лопатник) do
        begin
          WriteLn(Format('Cost = %d Count - %d',[Лопатник[i].Достоинство,Лопатник[i].Количество]));
          inc(ВсегоНаЛопате,Лопатник[i].Достоинство*Лопатник[i].Количество);
        end;
      WriteLn(Format('All money - %d',[ВсегоНаЛопате]));
      ReadLn;
    end.

    Вообще-то это Delphi, но его в списке не было ;)
    Задача была такая:
    пользователь вводит достоинства купюры в произвольном порядке, ввод прекращ

    guest, 28 Ноября 2008

    Комментарии (30)
  6. SQL / Говнокод #23

    −407.3

    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
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    SELECT   region_key AS region
            ,NAME(containedobjectsbasement_key) AS building
            ,container_node_id
            ,containedobjectsexchange_key
            ,object_name AS ats
            ,number_ranges AS diapazon
            ,exchange_type_name AS tip_ats
            ,exchange_mount_capacity AS emkost
            ,operator_licence_number AS license
            ,trace_line_relay_type_name AS tip_sl
            ,COUNT(trace_line_id) AS count5
            ,otkuda_nax AS otkuda_ats
            ,kuda_blya AS kuda_ats
            ,seven_nation_army
            ,ROWNUM
            ,cable_type_name
            ,logical_cable_length
            ,ATS_NAME
        FROM (SELECT DISTINCT r.object_id AS region_key
                             ,n.node_id AS containedobjectsbasement_key
                             ,n1.container_node_id AS container_node_id
                             ,e.node_id AS containedobjectsexchange_key
                             ,CAST(name2(e.node_id, e.exchange_class_id) AS VARCHAR2(128) ) AS object_name
                             ,e.exchange_mount_capacity AS exchange_mount_capacity
                             ,CAST( (SELECT stragg(first_number || '-' || last_number || '
                             '              )
                                       FROM number_interval
                                      WHERE exchange_id = e.node_id) AS VARCHAR2(1024) ) AS number_ranges
                             ,(SELECT e1.exchange_type_name
                                 FROM exchange_tl e1
                                WHERE e1.exchange_type_id = e.exchange_type_id) AS exchange_type_name
                             ,CAST( (SELECT s3.licence_number
                                       FROM service_operator_type s3
                                      WHERE s3.service_operator_type_id = e.operator_id) AS VARCHAR2(64) ) AS operator_licence_number
                             ,(SELECT t.trace_line_relay_type_name
                                 FROM trace_line_relay_type t
                                WHERE t.trace_line_relay_type_id = s.trace_line_relay_type_id) AS trace_line_relay_type_name
                             ,s.object_id trace_line_id
                             ,NAME(s1.exchange_id) otkuda_nax
                             ,NAME(trace_line.exchange_id) kuda_blya
                             ,(SELECT SUM(TO_NUMBER(n.last_number) - TO_NUMBER(n.first_number) + 1) AS s
                                 FROM number_interval n, region_l r
                                WHERE LENGTH(r.region_add_code || n.last_number) = 10
                                  AND LENGTH(r.region_add_code || n.first_number) = 10
                                  AND n.region_id = r.object_id
                                  AND n.exchange_id = e.node_id) AS seven_nation_army
                             ,ROWNUM
                         FROM region_l r, node n, exchange_l e, node n1, service_trace_line s, trace_line, service_l s1, node n2, OBJECT o
                        WHERE s.object_id = s1.object_id
                          AND s1.exchange_id = e.node_id
                          AND trace_line.service_id = s1.object_id
                          AND e.node_id = n1.node_id
                          AND n1.container_node_id = n.node_id
                          AND e.exchange_class_id = 100
                          AND n2.container_node_id = n.node_id
                          AND n2.entity_id = 108
                          AND n.region_id = r.object_id
                          AND n.node_type_id = 115
                          AND r.object_id = :region_key
                          AND n1.node_id = o.object_id
                          AND o.object_owner_type_id = 3) sel
            ,(SELECT r.object_id AS region_key2
                    ,c.node_id AS containedcoppercross_key
                    ,s2.linkedobjectsinterexchange_key AS linkedobjectsinterexchange_key
                    ,s2.logical_cable_length AS logical_cable_length
                    ,s2.cable_type_name AS cable_type_name
                    ,NAME(sl.exchange_id) AS ATS_NAME
                    ,NAME(el.node_id) AS el
                FROM region_l r
                    ,CROSS c
                    ,exchange_l el
                    ,node n2
                    ,service_l sl
                    ,trace_line tl
                    ,(SELECT l.node_id AS node_id
                            ,l.logical_cable_id AS linkedobjectsinterexchange_key
                            ,l.logical_cable_length AS logical_cable_length
                            ,(SELECT c.type_name
                                FROM cable_type_name c
                               WHERE c.cable_type_name_id = l.cable_type_id) AS cable_type_name
                        FROM logical_cable l
                       WHERE l.logical_cable_type_id = 455) s2
               WHERE s2.node_id(+) = c.node_id
                 AND c.node_id = n2.node_id
                 AND n2.entity_id = 108
                 AND c.node_id = el.cross_id
                 AND sl.exchange_id = el.node_id
                 AND tl.exchange_id = el.node_id
                 AND sl.entity_id = 156
                 AND r.object_id = :region_key) sel2
       WHERE NAME(kuda_blya) = ATS_NAME
    GROUP BY region_key, containedobjectsbasement_key, container_node_id, containedobjectsexchange_key, number_ranges, object_name, exchange_type_name, operator_licence_number, trace_line_relay_type_name, otkuda_nax, kuda_blya, exchange_mount_capacity
            ,operator_licence_number, seven_nation_army, ROWNUM, cable_type_name, logical_cable_length,ATS_NAME
    ORDER BY otkuda_ats

    Вызывает в Oracle10g внутреннюю ошибку
    ORA-00600: internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
    Cause: This is the generic internal error number for Oracle progra

    guest, 27 Ноября 2008

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

    +36

    1. 1
    2. 2
    3. 3
    4. 4
    ...
    catch (HeadshotException $e) {
    echo "Извините, вы застрелились: {$e->getMessage()}";
    ...

    В книге Котерова и Костарева по PHP5 наткнулся на замечательный пример кода. Прям за душу взяло, чесслово!

    (с) bash

    guest, 24 Ноября 2008

    Комментарии (30)
  8. Си / Говнокод #28556

    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
    switch(argCount)
    	{
    		case 0: sprintf(dst, fmt); break;
    		case 1: sprintf(dst, fmt, args[0]); break;
    		case 2: sprintf(dst, fmt, args[0], args[1]); break;
    		case 3: sprintf(dst, fmt, args[0], args[1], args[2]); break;
    		case 4: sprintf(dst, fmt, args[0], args[1], args[2], args[3]); break;
    		case 5: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4]); break;
    		case 6: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4], args[5]); break;
    		case 7: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4], args[5], args[6]); break;
    		case 8: sprintf(dst, fmt, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); break;
    		...

    GAMER, 15 Января 2023

    Комментарии (29)
  9. Python / Говнокод #28164

    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
    import asyncio
    
    async def hello():
        return "hello"
    
    async def world():
        return "world"
    
    async def comma():
        return ","
    
    async def space():
        return " "
    
    async def excl():
        return "!"
    
    async def capitalize(coro):
        return (await coro).capitalize()
    
    async def main():
        print(''.join(await asyncio.gather(*[asyncio.create_task(task) for task in (capitalize(hello()), comma(), space(), capitalize(world()), excl())])))
    
    asyncio.run(main())

    Изучаем asyncio через говнокод

    valo94, 12 Мая 2022

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

    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
    namespace Generics {
    
        function swap<T>(arr: T[], i: number, j: number): void {
            let temp: T = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    
        function sortHelper<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
            if (arr.length <= 0 || !callbackfn) {
                return arr;
            }
            let len = arr.length;
            // simple selection sort.
            for (let i = 0; i < len - 1; ++i) {
                for (let j = i + 1; j < len; ++j) {
                    if (callbackfn(arr[i], arr[j]) > 0) {
                        swap(arr, i, j);
                    }
                }
            }
            return arr;
        }
    
        export function arraySort<T>(arr: T[], callbackfn?: (value1: T, value2: T) => number): T[] {
            return sortHelper(arr, callbackfn);
        }
    }
    
    function main() {
        print("testGenerics")
        let inArray = [4.0, 3.0, 4593.0, 23.0, 43.0, -1.0]
        Generics.arraySort(inArray, (x: number, y: number) => { return x - y })
        let expectedArray = [-1.0, 3.0, 4.0, 23.0, 43.0, 4593.0]
        for (let i = 0; i < expectedArray.length; i++) {
            assert(inArray[i] == expectedArray[i])
        }
    }

    ну вот и все.. можно считать последний говнокод... подходит миссия к концу.... и ... потом заархивить все и положить на полочку

    ASD_77, 15 Января 2022

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

    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
    // этот код дает Segment Fault
    
    struct TypeNames
    {
        std::string typeName;
    };
    
    class LLVMRTTIHelperVCLinux
    {
        SmallVector<TypeNames> types;
    }
    
    // a этот нет
    
    class LLVMRTTIHelperVCLinux
    {
        SmallVector<std::string> types;
    }

    ну и гавно этот ваш Clang. MSVC работает, GCС работает а Clang нет

    ASD_77, 29 Сентября 2021

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