1. C++ / Говнокод #28386

    −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
    void RoostreamPorkser::handle(char c)
    {
      switch (m_state) {
      case State0:
    State0:
        if (isdigit(c)) {
          m_number = 0;
          m_state = StateNumber;
          goto StateNumber;
        } else if (isalpha(c)) {
          m_word = "";
          m_state = StateWord;
          goto StateWord;
        }
        break;
      case StateNumber:
    StateNumber:
        if (isdigit(c)) {
          m_number = m_number * 10 + c - '0';
        } else {
          handleNumber(m_number);
          m_state = State0;
          goto State0;
        }
        break;
      case StateWord:
    StateWord:
        if (isalpha(c)) {
          m_word += tolower(c);
        } else {
          handleWord(m_word);
          m_state = State0;
          goto State0;
        }
        break;
      /*
      // Или лучше так
      case StateNumber:
        if (!isdigit(c)) {
          handleNumber(m_number);
          m_state = State0;
          goto State0;
        }
    StateNumber:
        m_number = m_number * 10 + c - '0';
        break;
      */
      }
    }

    Например, задача: есть поток символов, в нем встречаются числа и слова, которые нужно обработать (прочие символы игнорируются).
    Не говно или всё-таки goto(с)?
    Перепиши на Java?

    Steve_Brown, 28 Сентября 2022

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

    0

    1. 1
    Пиздец-оффтоп #56

    #26: https://govnokod.ru/27545 https://govnokod.xyz/_27545
    #27: https://govnokod.ru/27572 https://govnokod.xyz/_27572
    #28: https://govnokod.ru/27580 https://govnokod.xyz/_27580
    #29: https://govnokod.ru/27738 https://govnokod.xyz/_27738
    #30: https://govnokod.ru/27751 https://govnokod.xyz/_27751
    #31: https://govnokod.ru/27754 https://govnokod.xyz/_27754
    #32: https://govnokod.ru/27786 https://govnokod.xyz/_27786
    #33: https://govnokod.ru/27801 https://govnokod.xyz/_27801
    #34: https://govnokod.ru/27817 https://govnokod.xyz/_27817
    #35: https://govnokod.ru/27822 https://govnokod.xyz/_27822
    #36: https://govnokod.ru/27826 https://govnokod.xyz/_27826
    #37: https://govnokod.ru/27827 https://govnokod.xyz/_27827
    #38: https://govnokod.ru/27833 https://govnokod.xyz/_27833
    #39: https://govnokod.ru/27862 https://govnokod.xyz/_27862
    #40: https://govnokod.ru/27869 https://govnokod.xyz/_27869
    #41: https://govnokod.ru/27933 https://govnokod.xyz/_27933
    #42: (vanished) https://govnokod.xyz/_27997
    #43: https://govnokod.ru/28042 https://govnokod.xyz/_28042
    #44: https://govnokod.ru/28080 https://govnokod.xyz/_28080
    #45: https://govnokod.ru/28086 https://govnokod.xyz/_28086
    #46: https://govnokod.ru/28105 https://govnokod.xyz/_28105
    #47: https://govnokod.ru/28166 https://govnokod.xyz/_28166
    #48: https://govnokod.ru/28229 https://govnokod.xyz/_28229
    #49: https://govnokod.ru/28298 https://govnokod.xyz/_28298
    #50: https://govnokod.ru/28308 https://govnokod.xyz/_28308
    #51: https://govnokod.ru/28329 https://govnokod.xyz/_28329
    #52: https://govnokod.ru/28340 https://govnokod.xyz/_28340
    #53: (vanished) https://govnokod.xyz/_28346
    #54: https://govnokod.ru/28353 https://govnokod.xyz/_28353
    #55: https://govnokod.ru/28361 https://govnokod.xyz/_28361

    nepeKamHblu_nemyx, 25 Сентября 2022

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

    0

    1. 1
    Политота #16

    #1: https://govnokod.ru/15804 https://govnokod.xyz/_15804
    #2: https://govnokod.ru/19910 https://govnokod.xyz/_19910
    #3: https://govnokod.ru/23643 https://govnokod.xyz/_23643
    #4: (vanished) https://govnokod.xyz/_24822
    #5: https://govnokod.ru/24868 https://govnokod.xyz/_24868
    #6: (vanished) https://govnokod.xyz/_26648
    #7: https://govnokod.ru/26673 https://govnokod.xyz/_26673
    #8: https://govnokod.ru/27052 https://govnokod.xyz/_27052
    #9: https://govnokod.ru/27852 https://govnokod.xyz/_27852
    #10: https://govnokod.ru/28060 https://govnokod.xyz/_28060
    #11: https://govnokod.ru/28091 https://govnokod.xyz/_28091
    #12: https://govnokod.ru/28103 https://govnokod.xyz/_28103
    #13: https://govnokod.ru/28144 https://govnokod.xyz/_28144
    #14: https://govnokod.ru/28270 https://govnokod.xyz/_28270
    #15: https://govnokod.ru/28341 https://govnokod.xyz/_28341

    nepeKamHblu_nemyx, 20 Сентября 2022

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Здравствуйте, друзья! Я - Педобир. Как и мой русский камрад, я очень люблю маленьких девочек - лолли. 
    Но в отличие от русского медведя я не насилую свои пассии, не угрожаю им и не ограничиваю их свободу. Лаской можно добиться много большего. 
    Обычно, я сидя в кустах поджидаю своих жертв.  Часто ими становятся лолли, возвращающиеся домой из школы. 
    Я догоняю их, пытаюсь завязать диалог а потом веду к себе домой. Никакого насилия! Иначе придут охотники... 
    Зачастую все заканчивается тем, что я просто обнюхиваю их трусики.

    Pedobear, 20 Сентября 2022

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

    −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
    private delegate void XFXOPDO(byte cmd);
    
    	private delegate void FXCBOPDO(byte cmd, ushort adr);
    
    	private delegate void ALUALGORITHM(byte src);
    
    	public delegate byte MEMREADER(ushort ADDR);
    
    	public ulong Tact;
    
    	public Registers regs = new Registers();
    
    	public bool HALTED;
    
    	public bool IFF1;
    
    	public bool IFF2;
    
    	public byte IM;
    
    	public bool BlockINT;
    
    	public OPFX FX;
    
    	public OPXFX XFX;
    
    	public bool INT;
    
    	public bool NMI;
    
    	public bool RST;
    
    	public byte FreeBUS = byte.MaxValue;
    
    	public OnRDMEM ReadMemory;
    
    	public OnWRMEM WriteMemory;
    
    	public OnRDPORT ReadPort;
    
    	public OnWRPORT WritePort;
    
    	public OnCALLBACK OnCycle;
    
    	private XFXOPDO[] opTABLE;
    
    	private XFXOPDO[] fxopTABLE;
    
    	private XFXOPDO[] edopTABLE;
    
    	private XFXOPDO[] cbopTABLE;
    
    	private FXCBOPDO[] fxcbopTABLE;
    
    	private static byte[] conds = new byte[4] { 64, 1, 4, 128 };
    
    	private static ALUALGORITHM[] alualg;
    
    	private ALUALGORITHM[] alulogic;
    
    	private static readonly string[] DirectZ80Code = new string[256]
    	{
    		"NOP", "LD     BC,$W", "LD     (BC),A", "INC    BC", "INC    B", "DEC    B", "LD     B,$N", "RLCA", "EX     AF,AF'", "ADD    HL,BC",
    		"LD     A,(BC)", "DEC    BC", "INC    C", "DEC    C", "LD     C,$N", "RRCA", "DJNZ   $DIS", "LD     DE,$W", "LD     (DE),A", "INC    DE",
    		"INC    D", "DEC    D", "LD     D,$N", "RLA", "JR     $DIS", "ADD    HL,DE", "LD     A,(DE)", "DEC    DE", "INC    E", "DEC    E",
    		"LD     E,$N", "RRA", "JR     NZ,$DIS", "LD     HL,$W", "LD     ($W),HL", "INC    HL", "INC    H", "DEC    H", "LD     H,$N", "DAA",
    		"JR     Z,$DIS", "ADD    HL,HL", "LD     HL,($W)", "DEC    HL", "INC    L", "DEC    L", "LD     L,$N", "CPL", "JR     NC,$DIS", "LD     SP,$W",
    		"LD     ($W),A", "INC    SP", "INC    (HL)", "DEC    (HL)", "LD     (HL),$N", "SCF", "JR     C,$DIS", "ADD    HL,SP", "LD     A,($W)", "DEC    SP",
    		"INC    A", "DEC    A", "LD     A,$N", "CCF", "LD     B,B", "LD     B,C", "LD     B,D", "LD     B,E", "LD     B,H", "LD     B,L",
    		"LD     B,(HL)", "LD     B,A", "LD     C,B", "LD     C,C", "LD     C,D", "LD     C,E", "LD     C,H", "LD     C,L", "LD     C,(HL)", "LD     C,A",
    		"LD     D,B", "LD     D,C", "LD     D,D", "LD     D,E", "LD     D,H", "LD     D,L", "LD     D,(HL)", "LD     D,A", "LD     E,B", "LD     E,C",
    		"LD     E,D", "LD     E,E", "LD     E,H", "LD     E,L", "LD     E,(HL)", "LD     E,A", "LD     H,B", "LD     H,C", "LD     H,D", "LD     H,E",
    		"LD     H,H", "LD     H,L", "LD     H,(HL)", "LD     H,A", "LD     L,B", "LD     L,C", "LD     L,D", "LD     L,E", "LD     L,H", "LD     L,L",
    		"LD     L,(HL)", "LD     L,A", "LD     (HL),B", "LD     (HL),C", "LD     (HL),D", "LD     (HL),E", "LD     (HL),H", "LD     (HL),L", "HALT", "LD     (HL),A",
    		"LD     A,B", "LD     A,C", "LD     A,D", "LD     A,E", "LD     A,H", "LD     A,L", "LD     A,(HL)", "LD     A,A", "ADD    A,B", "ADD    A,C",
    		"ADD    A,D", "ADD    A,E", "ADD    A,H", "ADD    A,L", "ADD    A,(HL)", "ADD    A,A", "ADC    A,B", "ADC    A,C", "ADC    A,D", "ADC    A,E",
    		"ADC    A,H", "ADC    A,L", "ADC    A,(HL)", "ADC    A,A", "SUB    B", "SUB    C", "SUB    D", "SUB    E", "SUB    H", "SUB    L",
    		"SUB    (HL)", "SUB    A", "SBC    A,B", "SBC    A,C", "SBC    A,D", "SBC    A,E", "SBC    A,H", "SBC    A,L", "SBC    A,(HL)", "SBC    A,A",
    		"AND    B", "AND    C", "AND    D", "AND    E", "AND    H", "AND    L", "AND    (HL)", "AND    A", "XOR    B", "XOR    C",
    		"XOR    D", "XOR    E", "XOR    H", "XOR    L", "XOR    (HL)", "XOR    A", "OR     B", "OR     C", "OR     D", "OR     E",
    		"OR     H", "OR     L", "OR     (HL)", "OR     A", "CP     B", "CP     C", "CP     D", "CP     E", "CP     H", "CP     L",
    		"CP     (HL)", "CP     A", "RET    NZ", "POP    BC", "JP     NZ,$W", "JP     $W", "CALL   NZ,$W", "PUSH   BC", "ADD    A,$N", "RST    $T",
    		"RET    Z", "RET", "JP     Z,$W", "*CB", "CALL   Z,$W", "CALL   $W", "ADC    A,$N", "RST    $T", "RET    NC", "POP    DE",
    		"JP     NC,$W", "OUT    ($N),A", "CALL   NC,$W", "PUSH   DE", "SUB    $N", "RST    $T", "RET    C", "EXX", "JP     C,$W", "IN     A,($N)",
    		"CALL   C,$W", "*IX", "SBC    A,$N", "RST    $T", "RET    PO", "POP    HL", "JP     PO,$W", "EX     (SP),HL", "CALL   PO,$W", "PUSH   HL",
    		"AND    $N", "RST    $T", "RET    PE", "JP     (HL)", "JP     PE,$W", "EX     DE,HL", "CALL   PE,$W", "*ED", "XOR    $N", "RST    $T",
    		"RET    P", "POP    AF", "JP     P,$W", "DI", "CALL   P,$W", "PUSH   AF", "OR     $N", "RST    $T", "RET    M", "LD     SP,HL",
    		"JP     M,$W", "EI", "CALL   M,$W", "*IY", "CP     $N", "RST    $T"
    	};

    Вот так раньше писали эмуляторы ZX Spectrum

    DartPower, 20 Сентября 2022

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

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    На работе такая таска:
    Есть сервис, который запускает наши сервисы и следит за ними, напр. перезапускает, если один из них упал.
    Таска такая, что нужно посылать всем сервисам сообщения из командной строки.
    Т.е. уже можно послать сигналы из командной строки (SIGTERM, SIGHUP, и.т.д)
    `svctl -s stop` - наример.
    Но теперь нужно посылать SIGUSR1, перед этим записав в файл сообщение, тоже переданное из командной строки. Все запущенные сервисы по этому сигналу должны прочитать файл с сообщением и обработать его.
    И вот тут я сомневаюсь, что так правильно.
    1. Может лучше открыть именованный канал, и туда всё посылать, без сигналов? Но тут треды и код усложнится, а проект простой, на 20 методов в двух классах.
    2. Если это всё же правильно, то вместо файла тоже может использовать именованный канал для обмена сообщениями?

    YpaHeLI_, 19 Сентября 2022

    Комментарии (16)
  7. Куча / Говнокод #28373

    0

    1. 1
    Просто оффтоп #24

    #1: https://govnokod.ru/20162 https://govnokod.xyz/_20162
    #2: https://govnokod.ru/25329 https://govnokod.xyz/_25329
    #3: https://govnokod.ru/25415 https://govnokod.xyz/_25415
    #4: (vanished) https://govnokod.xyz/_25472
    #5: https://govnokod.ru/25693 https://govnokod.xyz/_25693
    #6: (vanished) https://govnokod.xyz/_26649
    #7: https://govnokod.ru/26672 https://govnokod.xyz/_26672
    #8: https://govnokod.ru/26924 https://govnokod.xyz/_26924
    #9: https://govnokod.ru/27072 https://govnokod.xyz/_27072
    #10: https://govnokod.ru/27086 https://govnokod.xyz/_27086
    #11: https://govnokod.ru/27122 https://govnokod.xyz/_27122
    #12: https://govnokod.ru/27153 https://govnokod.xyz/_27153
    #13: https://govnokod.ru/27159 https://govnokod.xyz/_27159
    #14: https://govnokod.ru/27200 https://govnokod.xyz/_27200
    #15: https://govnokod.ru/27237 https://govnokod.xyz/_27237
    #16: https://govnokod.ru/27282 https://govnokod.xyz/_27282
    #17: https://govnokod.ru/27319 https://govnokod.xyz/_27319
    #18: https://govnokod.ru/27380 https://govnokod.xyz/_27380
    #19: https://govnokod.ru/27500 https://govnokod.xyz/_27500
    #20: https://govnokod.ru/27607 https://govnokod.xyz/_27607
    #21: https://govnokod.ru/27951 https://govnokod.xyz/_27951
    #22: https://govnokod.ru/28076 https://govnokod.xyz/_28076
    #23: https://govnokod.ru/28266 https://govnokod.xyz/_28266

    nepeKamHblu_nemyx, 17 Сентября 2022

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

    +1

    1. 1
    С днём программиста, питухи!

    И курицы.

    3_dar, 13 Сентября 2022

    Комментарии (17)
  9. Куча / Говнокод #28368

    +1

    1. 1
    Яндекс сгнил :(

    hormand, 12 Сентября 2022

    Комментарии (5)
  10. Python / Говнокод #28367

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    >>> import math
    >>> n = math.factorial(1559)
    >>> n
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: Exceeds the limit (4300) for integer string conversion

    https://github.com/sympy/sympy/issues/24033

    Какой багфикс )))

    3_dar, 12 Сентября 2022

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