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

    +1

    1. 1
    2. 2
    #include <type_traits>
    int main() { return std::is_assignable_v<int, int>; }

    --> 0

    WTF?

    Elvenfighter, 17 Апреля 2019

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

    0

    1. 1
    Я забыл теорию графов, но вот недавно читал про магазинный автомат, а вы?

    OlegUP, 17 Апреля 2019

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

    −1

    1. 1
    ЧисловойСимвол = ?(Найти("0123456789",СимволVIN)>0,Истина,Ложь);

    Проверка на то, является ли "СимволVIN" числом

    nytlenc, 17 Апреля 2019

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

    +1

    1. 1
    2. 2
    3. 3
    Заметил, что после написания почти каждого сообщения я копирую в буфер обмена какой-нибудь символ, чтобы перетереть возможное старое значение.
    Чтобы случайно в какой-нибудь чат не вставить [color=green][i]конфиденциальную информацию[/i][/color].
    Это нужно лечить?

    AHCKuJlbHblu_nemyx, 16 Апреля 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (...) {
       if(...) {
          ...
       } else {
          return $this->render('error', array("case" => 1));
       }
    } else {
       return $this->render('error', array("case" => 2));
    }

    И сразу понятно, какая ошибка прозошла (нет)

    Hvreg, 15 Апреля 2019

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    rt_fold(#{}, Acc) ->
        Acc;
    rt_fold(Keys, Acc) ->
        maps:fold(<.... опущено ...>, Acc, Keys).

    CHayT, 14 Апреля 2019

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

    +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
    # это комментарий #
    COMMENT это понятно что COMMENT
    CO это тоже ко-ко-коментарий CO
    
    CO функция принимает 3 параметра типа INT и возвращает ссылку на массив CO
    PROC range = (INT start, end, step)REF[]INT : (
        INT length = ABS((end - start) % step);
        NEW [0 : length - 1]INT result; CO массив в куче CO
        CO LWB —– нижний индекс массива, UPB —– верхний CO
        FOR i FROM LWB result TO UPB result
        DO
            result[i] := start + i * step
        OD;
        result CO функции возвращают результат последнего вычесленного выражения CO
    );
    
    CO можно определять свои операторы CO
    OP RANGE = (INT start, end)REF[]INT: range(start, end, (start < end | 1 | -1));
    PRIO RANGE = 5; CO для бинарных операторов нужно задать приоритет, у сложения/вычитания приоритет = 6 CO
    
    CO для операторов возможна перегрузка по количеству и типу аргументов CO
    OP RANGE = (INT end)REF[]INT: 0 RANGE end;
    
    OP ACCUM = ([]INT x, PROC(INT,INT)INT f)INT : (
        INT length = UPB x - LWB x;
        IF length = 0 THEN
            1
        ELIF length = 1 THEN
            x[LWB x]
        ELSE
            INT result;
            result := x[LWB x];
            FOR i FROM LWB x + 1 TO UPB x
            DO
                result := f(result, x[i])
            OD;
            result
        FI
    );
    PRIO ACCUM = 5;
    
    CO правый операнд у ACCUM —– лямбда CO
    OP ! = (INT x)INT: 1 RANGE x + 1 ACCUM ((INT x, y)INT: x * y);
    
    printf(($g(0), "! = ", g(0), l$, 7, !7));
    
    OP MAP = ([]INT x, PROC(INT)INT f)REF[]INT : (
        NEW [LWB x : UPB x]INT result;
        FOR i FROM LWB x TO UPB x
        DO
            result[i] := f(x[i])
        OD;
        result
    );
    PRIO MAP = 5;
    
    PROC pow = (INT x, n)INT: x ^ n;
    
    CO каррирование CO
    printf(($g(0), " "$, RANGE 10 MAP pow(2, )));
    print(new line);
    
    OP FOREACH = (REF[]INT x, PROC(REF INT)VOID f)VOID : (
        FOR i FROM LWB x TO UPB x
        DO
            f(x[i])
        OD
    );
    PRIO FOREACH = 5;
    
    REF[]INT a = -5 RANGE 6;
    a FOREACH ((REF INT x)VOID:
        x := x ^ 2
    );
    
    printf(($g(0), " "$, a))

    https://tio.run/##jVVdbxJBFH3nV1xbTXZ1iaBpNVQfkFIlKV2C1T40mJBIkYRgUzFdEx@wtRpTPx70hyCWlkLBvzDzF/wj9dw7s0uBmgiF7syce@fOuecM5Xr1ZX3xbvX8fJ70F72nRqT6aqTO8O6qISbauqV66pTmYxk/n8@urUe438AN9TcMhhjqjzJrQQCHOP5Sx6oriePR18wGGT8mUe/1PhL29QfV09@wiywP8TlTbdXVe3Sbt@aoNufQe/zEu/R4mnKoUPVIdbDFierwov5kI/U7vA/VANn3CTnbxEl5FsEdrqBQ9DO0U25UK3SfHM71qlneaXpUaTz38FzZdovZlc0Sr6TIiRFe/FyvNKrNF4hJP3jsOABT3ES6dM2ELQl2LbtBmwmE2oA4JSXXTuXV63pzCSVMlsR/KFZ/BH8oj1MAsrrxgP60fvxpfSdh5li@T0mIOgKvff1uIo9qe/SkMA7qgI6WPrBhNvGKX6QarRT9vGxgSqJ1XyLNSHDLBs4vM7tZK1Hqvjkv3UCO63JkQfnL5uA221SDL2mU/sqNauEQJ8AN9GeRyJ7IDYcZYOEI4V31izXY0YfMjV0YshLHC6yQY5lmJeGUaELMMDwSzoAbicC6wtqAxaw/QyZSVE9WmSkuALu39CFn8QtUTK89zM4qJNJGymjIuSgeM6B7PKK3lMQnnnRRUqGY86OMC0YDR1wMqZ/SUdb6EOc5mCkIYwhkCKLscU5w5CNexTGsdRjWAxwG8Ai6F65GY2JuWhIZ07ZczYaitMXQomF1lxZj2hky3CaLQb/A3z6W@mbSXjQDbCANRI4Ou7JnrczPfPBfCAqvipEx6XQDJplP2EXMot3ApjOZJ3nGGtsGHrHLOdLDx@W5LfefhmbxB/ApWyIwWs6tjJcTtP4ouxYZIilP2dWLkOQkJNiUVCWLfJyNVi5cBFMOY3uFceO1KcMG8F4y9GsQoS7YdTLhlmOePaSuldwIFVp2jDbXQy4WijVkdMH66bdYDTLiOyhSBd9FLDiDDq8eKAf9/Mkqtb28EvYxcKWBSdtAcx4T7Ti2dW8MJsAd84btvL1TazS3HOdq1Um4Hs1xsjmPzKh@1aM7Hl25wzbjrfLpwqVCsCKYudrlujbcpgytpekmzTRhogH/uiu3nDHnk1dkRLKplSmWH6Xtl7sRTx41QhqeUcM2oc92EcOKE42Xzc/GNEk0B2IMycmEbITszi2PXCZK0E6jskv1WqNimcMxs@nMIy4hYikkEBOsXfepn1sGi/IvZPC/6ZlkJGJhvC8zEW1dxkR8wZ5hcSlWjoBOWA7kxJWkJGMgDgJbt2KXqUYIKbvu@flf
    Давайте течь от "Algol-68".

    BOKCEJIbHblu_nemyx, 13 Апреля 2019

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

    +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
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdint.h>
    
    int main(void)
    {
      uint32_t a = 24804541;
      for(size_t i = 0; i < 5; i++)
      {
        for(size_t j = 0; j < 5; j++)
        {
          putchar( "01"[(a >> (i*5 + j)) & 1]);
        }
        putchar('\n');
      }
      return EXIT_SUCCESS;
    }

    https://ru.wikipedia.org/wiki/Параграф_86а_Уголовного_кодекса_Германии

    > В 1998 году суд Франкфурта-на-Майне своим решением запретил распространение компьютерных игр, в которых содержится какая-либо нацистская символика — прецедентом стала игра Wolfenstein 3D. Немецкие локализаторы вынуждены были заменять в играх нацистскую символику на другие символы, не попадающие под нарушение параграфа 86а Уголовного кодекса Германии.

    Предлагаю запретить число 24804541.

    j123123, 13 Апреля 2019

    Комментарии (37)
  9. PHP / Говнокод #25536

    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
    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
    class SqlXssFilter {
        private static $sql_keywords = array(
            'ADD',
            'ADD CONSTRAINT',
            'ALTER',
            'ALTER COLUMN',
            'ALTER TABLE',
            'ALL',
            'AND',
            'ANY',
            'AS',
            'ASC',
            'BACKUP DATABASE',
            'BETWEEN',
            'CASE',
            'CHECK',
            'COLUMN'
            'CONSTRAINT',
            'CREATE',
            'CREATE DATABASE',
            'CREATE INDEX',
            'CREATE OR REPLACE VIEW',
            'CREATE TABLE',
            'CREATE PROCEDURE',
            'CREATE UNIQUE INDEX',
            'CREATE VIEW',
            'DATABASE',
            'DEFAULT',
            'DELETE',
            'DESC',
            'DISTINCT',
            'DROP',
            'DROP COLUMN',
            'DROP CONSTRAINT',
            'DROP DATABASE',
            'DROP DEFAULT',
            'DROP INDEX',
            'DROP TABLE',
            'DROP VIEW',
            'EXEC',
            'EXISTS',
            'FOREIGN KEY',
            'FROM',
            'FULL OUTER JOIN',
            'GROUP BY',
            'HAVING',
            'IN',
            'INDEX',
            'INNER JOIN',
            'INSERT INTO',
            'INSERT INTO SELECT',
            'IS NULL',
            'IS NOT NULL',
            'JOIN',
            'LEFT JOIN',
            'LIKE',
            'LIMIT',
            'NOT',
            'NOT NULL',
            'OR',
            'ORDER BY',
            'OUTER JOIN',
            'PRIMARY KEY',
            'PROCEDURE',
            'RIGHT JOIN',
            'ROWNUM',
            'SELECT',
            'SELECT DISTINCT',
            'SELECT INTO',
            'SELECT TOP',
            'SET',
            'TABLE',
            'TOP',
            'TRUNCATE TABLE',
            'UNION',
            'UNION ALL',
            'UNIQUE',
            'UPDATE',
            'VALUES',
            'VIEW',
            'WHERE'
        );
        // XSS and SQL-inject filter 
        public static function filterInputData(&$str) {
            // remove html tags
            $res = strip_tags($str);
            $res = str_replace(self::sql_keywords, "", $str);
            return $res;
        }
    }

    Сойдет.

    OlegUP, 12 Апреля 2019

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

    0

    1. 1
    2. 2
    string str = "abcd";
     textBox.Text = Convert.ToString(str);

    Кратко об одногруппниках

    pillar_hunter, 12 Апреля 2019

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