1. Куча / Говнокод #25437

    −2

    1. 1
    Электрика / электроника #1

    syoma, 09 Марта 2019

    Комментарии (646)
  2. Куча / Говнокод #25435

    +1

    1. 1
    ДеФфЧоНаЧкИ с ПрАзДнИчКоМ вАс!

    Всем джвумерным, трёхмерным и прочим N-мерным няшкам с клювом и без шлю чмоки-чмоки!

    Kypumca, 08 Марта 2019

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

    +3

    1. 1
    MSDN: To obtain the full version number for the operating system, call the GetFileVersionInfo function on one of the system DLLs, such as Kernel32.dll

    В Windows функции вроде GetVersion задепрекейтили (и остальные более новые функции из SDK) и теперь они всегда возвращают "Windows 8" в том числе на десятке, если приложения не манифестить или ещё чего (а манифестить не всегда возможно, если допустим, разрабатывается плагин под другой софт). В итоге в API куча непонятных правил и разных ЕСЛИ, и нет уверенности в том, реальную ли версию Винды нам возвращает функция, или это опять какой-то shim.

    С появлением rapid release cycle в Windows и автоапдейтов появляется проблема: новые апдейты постоянно ломают ранее рабочий софт. Для этого нужно делать workaround'ы: смотреть какой там у нас билд (1803? 1809?) и включать нужный костыль. Видимо, самим в Microsoft это надоело, что они на полном серьёзе предлагают смотреть file version у каких-нибудь системных файлов в системной папке, чтобы узнать версию ОС наверняка. Официальный говнокод от Майкрософт.

    KGeist, 08 Марта 2019

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

    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
    public function comments()
        {
            $a = new common_articles($this);
    
            switch ($this->prms[3]) {
                case 'search':
                    {
                        break;
                    }
                default:
                    {
                        $where = array();
                        $itemid = 0;
     // и еще полторы сотни строк кода
                    }
            }
        }

    Параход такой параход...

    Arris, 06 Марта 2019

    Комментарии (107)
  5. Java / Говнокод #25430

    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
    39. 39
    40. 40
    41. 41
    42. 42
    [code]
      protected AbstractPopup init(Project project,
                         @NotNull JComponent component,
                         @Nullable JComponent preferredFocusedComponent,
                         boolean requestFocus,
                         boolean focusable,
                         boolean movable,
                         String dimensionServiceKey,
                         boolean resizable,
                         @Nullable String caption,
                         @Nullable Computable<Boolean> callback,
                         boolean cancelOnClickOutside,
                         @Nullable Set<JBPopupListener> listeners,
                         boolean useDimServiceForXYLocation,
                         ActiveComponent commandButton,
                         @Nullable IconButton cancelButton,
                         @Nullable MouseChecker cancelOnMouseOutCallback,
                         boolean cancelOnWindow,
                         @Nullable ActiveIcon titleIcon,
                         boolean cancelKeyEnabled,
                         boolean locateByContent,
                         boolean placeWithinScreenBounds,
                         @Nullable Dimension minSize,
                         float alpha,
                         @Nullable MaskProvider maskProvider,
                         boolean inStack,
                         boolean modalContext,
                         @Nullable Component[] focusOwners,
                         @Nullable String adText,
                         int adTextAlignment,
                         boolean headerAlwaysFocusable,
                         @NotNull List<? extends Pair<ActionListener, KeyStroke>> keyboardActions,
                         Component settingsButtons,
                         @Nullable final Processor<? super JBPopup> pinCallback,
                         boolean mayBeParent,
                         boolean showShadow,
                         boolean showBorder,
                         Color borderColor,
                         boolean cancelOnWindowDeactivation,
                         @Nullable BooleanFunction<KeyEvent> keyEventHandler) {
    [/code]
    // https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java

    HEymHblu_nemyx, 06 Марта 2019

    Комментарии (36)
  6. Assembler / Говнокод #25429

    −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
    format pe gui 5.0
    
    include 'win32ax.inc'
    
      _title db 'stackvar',0
      _class db '#32770',0
    
    entry $
      sub esp,32
      mov esi,esp
      xor edi,edi
      mov ecx,$80000000
      mov eax,WS_VISIBLE+WS_OVERLAPPEDWINDOW
      invoke CreateWindowEx,edi,_class,edi,eax,ecx,ecx,ecx,ecx,edi,edi,edi,edi
      mov ebx,eax
      invoke SetWindowLong,ebx,GWL_WNDPROC,wnd_proc
      mov [esi],eax
      invoke SetWindowLong,ebx,GWL_USERDATA,esi
      invoke SendMessage,ebx,WM_INITDIALOG,edi,edi
      sub esp,32
      mov ebx,esp
    
    msg_loop:
      invoke GetMessage,ebx,edi,edi,edi
      cmp eax,1
      jb app_exit
      jne msg_loop
      invoke DispatchMessage,ebx
      jmp msg_loop
    
    wnd_proc:
      mov eax,[esp+8]
      cmp eax,WM_INITDIALOG
      je app_init
      cmp eax,WM_CLOSE
      je app_exit
      mov eax,[esp+4]
      invoke GetWindowLong,eax,GWL_USERDATA
      pop edx
      push dword [eax]
      push edx
      jmp [CallWindowProc]
    
    app_init:
      mov eax,[esp+4]
      invoke SendMessage,eax,WM_SETTEXT,0,_title
      xor eax,eax
      ret
    
    app_exit:
      invoke ExitProcess,edi
    
    data import
      library\
        kernel32,'kernel32.dll',\
        user32,'user32.dll'
      include 'api\kernel32.inc'
      include 'api\user32.inc'
    end data

    Извращениям нет предела!
    Переменные будем хранить в стэке)

    chiacorp, 05 Марта 2019

    Комментарии (18)
  7. Assembler / Говнокод #25428

    −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
    format pe gui 5.0
    
    include 'win32ax.inc'
    
      _title db '1Kbyte window',0
      _class db '#32770',0
    
      old_wndproc dd 0
    
    entry $
      xor edi,edi
      mov ecx,$80000000
      mov esi,$400000
      mov eax,WS_VISIBLE+WS_OVERLAPPEDWINDOW
      invoke CreateWindowEx,edi,_class,edi,eax,ecx,ecx,ecx,ecx,edi,edi,edi,edi
      mov ebx,eax
      invoke SetWindowLong,ebx,GWL_WNDPROC,wnd_proc
      mov [old_wndproc],eax
      invoke SendMessage,ebx,WM_INITDIALOG,edi,edi
      sub esp,32
      mov ebx,esp
    
    msg_loop:
      invoke GetMessage,ebx,edi,edi,edi
      cmp eax,1
      jb app_exit
      jne msg_loop
      invoke DispatchMessage,ebx
      jmp msg_loop
    
    wnd_proc:
      mov eax,[esp+8]
      cmp eax,WM_INITDIALOG
      je app_init
      cmp eax,WM_CLOSE
      je app_exit
      pop eax
      push [old_wndproc]
      push eax
      jmp [CallWindowProc]
    
    app_init:
      mov eax,[esp+4]
      invoke SendMessage,eax,WM_SETTEXT,0,_title
      xor eax,eax
      ret
    
    app_exit:
      invoke ExitProcess,edi
    
    data import
      library\
        kernel32,'kernel32.dll',\
        user32,'user32.dll'
      include 'api\kernel32.inc'
      include 'api\user32.inc'
    end data

    Приветствуем!
    Вот это говнокод однако?
    ...

    chiacorp, 05 Марта 2019

    Комментарии (80)
  8. PHP / Говнокод #25427

    +2

    1. 1
    $currentTask = Tasks::model()->findByPk($currentTask->id);

    Yii1. Ищет то, что уже имеет и у меня только 1 вопрос - что в голове у этой ТП?

    Diakon, 05 Марта 2019

    Комментарии (12)
  9. Си / Говнокод #25426

    −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
    // https://github.com/stedolan/jq/blob/3ea0199e031e98e92670a25e4323bd711005b5db/src/jv.h#L157
    
    #define JV_OBJECT_1(k1) (jv_object_set(jv_object(),(k1),jv_null()))
    #define JV_OBJECT_2(k1,v1) (jv_object_set(jv_object(),(k1),(v1)))
    #define JV_OBJECT_3(k1,v1,k2) (jv_object_set(JV_OBJECT_2((k1),(v1)),(k2),jv_null()))
    #define JV_OBJECT_4(k1,v1,k2,v2) (jv_object_set(JV_OBJECT_2((k1),(v1)),(k2),(v2)))
    #define JV_OBJECT_5(k1,v1,k2,v2,k3) (jv_object_set(JV_OBJECT_4((k1),(v1),(k2),(v2)),(k3),jv_null()))
    #define JV_OBJECT_6(k1,v1,k2,v2,k3,v3) (jv_object_set(JV_OBJECT_4((k1),(v1),(k2),(v2)),(k3),(v3)))
    #define JV_OBJECT_7(k1,v1,k2,v2,k3,v3,k4) (jv_object_set(JV_OBJECT_6((k1),(v1),(k2),(v2),(k3),(v3)),(k4),jv_null()))
    #define JV_OBJECT_8(k1,v1,k2,v2,k3,v3,k4,v4) (jv_object_set(JV_OBJECT_6((k1),(v1),(k2),(v2),(k3),(v3)),(k4),(v4)))
    #define JV_OBJECT_9(k1,v1,k2,v2,k3,v3,k4,v4,k5) \
        (jv_object_set(JV_OBJECT_8((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4)),(k5),jv_null()))
    #define JV_OBJECT_10(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5) \
        (jv_object_set(JV_OBJECT_8((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4)),(k5),(v5)))
    #define JV_OBJECT_11(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6) \
        (jv_object_set(JV_OBJECT_10((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5)),(k6),jv_null()))
    #define JV_OBJECT_12(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6,v6) \
        (jv_object_set(JV_OBJECT_10((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5)),(k6),(v6)))
    #define JV_OBJECT_13(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6,v6,k7) \
        (jv_object_set(JV_OBJECT_12((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5),(k6),(v6)),(k7),jv_null()))
    #define JV_OBJECT_14(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6,v6,k7,v7) \
        (jv_object_set(JV_OBJECT_12((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5),(k6),(v6)),(k7),(v7)))
    #define JV_OBJECT_15(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6,v6,k7,v7,k8) \
        (jv_object_set(JV_OBJECT_14((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5),(k6),(v6),(k7),(v7)),(k8),jv_null()))
    #define JV_OBJECT_16(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6,v6,k7,v7,k8,v8) \
        (jv_object_set(JV_OBJECT_14((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5),(k6),(v6),(k7),(v7)),(k8),(v8)))
    #define JV_OBJECT_17(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6,v6,k7,v7,k8,v8,k9) \
        (jv_object_set(JV_OBJECT_16((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5),(k6),(v6),(k7),(v7),(k8),(v8)),(k9),jv_null()))
    #define JV_OBJECT_18(k1,v1,k2,v2,k3,v3,k4,v4,k5,v5,k6,v6,k7,v7,k8,v8,k9,v9) \
        (jv_object_set(JV_OBJECT_16((k1),(v1),(k2),(v2),(k3),(v3),(k4),(v4),(k5),(v5),(k6),(v6),(k7),(v7),(k8),(v8)),(k9),(v9)))
    #define JV_OBJECT_IDX(_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,NAME,...) NAME
    #define JV_OBJECT(...) \
      JV_OBJECT_IDX(__VA_ARGS__, \
                    JV_OBJECT_18, JV_OBJECT_17, JV_OBJECT_16, JV_OBJECT_15, \
                    JV_OBJECT_14, JV_OBJECT_13, JV_OBJECT_12, JV_OBJECT_11, \
                    JV_OBJECT_10, JV_OBJECT_9, JV_OBJECT_8, JV_OBJECT_7,    \
                    JV_OBJECT_6, JV_OBJECT_5, JV_OBJECT_4, JV_OBJECT_3,     \
                    JV_OBJECT_2, JV_OBJECT_1)(__VA_ARGS__)

    Какой макробагор!

    j123123, 05 Марта 2019

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function writeln($mass){
    	echo '<pre>';
    	print_r($mass);
    	echo '</pre>';
    }

    ФКУ

    pseudoJun, 04 Марта 2019

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