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

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void receivePtrs(void **);
    
    int main() {
    L:
      receivePtrs((void *[]){ &&L, 0, 0 });
    }

    что делает этот код?

    ASD_77, 29 Августа 2021

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    enum class NodeFlags : int {
        None               = 0,
        Let                = 1 << 0,
    // ...
    }
    
    contextFlags &= ~flag;
    
    // error C2675: unary '~': 'NodeFlags' does not define this operator or a conversion to a type acceptable to the predefined operator

    Кому нужны такие гавно-компиляторы? которые даже не в состоянии привети четко прописанные типы?

    ASD_77, 20 Марта 2021

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

    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
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    #include <iostream>
    #include <ctime>
    #include <string>
    #include <random>
    #include <algorithm>
    #include <iomanip> // для ограничения количества вводимых симолов для std::cin
    
    void compUsrWthCmptr(std::string userInput, std::string computerInput)
    {
        std::reverse(userInput.begin(), userInput.end());//  Считаем правильно угаданные позиции
        std::reverse(computerInput.begin(), computerInput.end());
        int guessedPositions{ 0 };
        for (int i = 0; (i < userInput.length()) && (i < computerInput.length()); ++i)
        {
            if (userInput[i] == computerInput[i])
            {
                guessedPositions++;
            }
        }
        std::string::iterator it_userInput;
        std::string::iterator it_computerInput;
        it_userInput = std::unique(userInput.begin(), userInput.end()); // Удаляем повторяющиеся цифры
        userInput.resize(std::distance(userInput.begin(), it_userInput));
        it_computerInput = std::unique(computerInput.begin(), computerInput.end());
        computerInput.resize(std::distance(computerInput.begin(), it_computerInput));
        int guessedDigits{ 0 }; //  Считаем количество правильно угаданных цифр без учета повторяющихся
        for (int i = 0; i < userInput.length(); ++i)
        {
            for (int x = 0; x < computerInput.length(); ++x)
            {
                if (userInput[i] == computerInput[x])
                {
                    guessedDigits++;
                }
            }
        }
        std::cout << "  Угадано: " << guessedDigits << ". Соответствует своим разрядам: " << guessedPositions << std::endl << std::endl;
    };
    void startTheGame()
    {
        int pcsRandomNumber = getRandomNumber(0, 999);      //Загаданое число.
        std::cout << "  Компьютер загадал трехзначное число от 0 до 999!\n" << "  Это: " << pcsRandomNumber << std::endl << std::endl;
        std::string pcNumber{ std::to_string(pcsRandomNumber) };
        bool win = false;
        do
        {
            int usersGuess = getUsersGuess();
            std::string guess{ std::to_string(usersGuess) };
            std::cout << "  Ваш вариант : " << guess << std::endl;
            compUsrWthCmptr(guess, pcNumber);
            if (usersGuess == pcsRandomNumber)
            {
                win = true;
                std::cout << "  *** Вы угадали число " << pcsRandomNumber << "!***\n";
            }
        } while (!win);
    };
    int getUsersGuess()
    {
        while (true) // цикл продолжается до тех пор, пока пользователь не введет корректное значение
        {
            std::cout << "  Введите коректное значение: ";
            int a;
            std::cin >> std::setw(3) >> a;
            if (std::cin.fail()) // если предыдущее извлечение оказалось неудачным,
            {
                std::cin.clear(); // то возвращаем cin в 'обычный' режим работы
                std::cin.ignore(32767, '\n'); // и удаляем значения предыдущего ввода из входного буфера
                std::cout << "  Предыдущее извлечение оказалось неудачным. Попытайтесь еще раз.\n\n";
            }
            else
            {
                if (a >= 1000 || a < 0)
                {
                    std::cin.ignore(32767, '\n'); // удаляем лишние значения
                    std::cout << "  Введенное число вне требуемого диапазонате. Попытайтесь еще раз.\n\n";
                }
                else
                {
                    std::cin.ignore(32767, '\n'); // удаляем лишние значения
                    return a;
                }
            }
        }
    }
    int getRandomNumber(int min, int max)
    {
        return static_cast<int>(rand() % (max - min + 1) + min);
    }
    
    int main()
    {
        setlocale(LC_ALL, "Russian");
        srand(static_cast<unsigned int>(time(0)));
        startTheGame();
        return 0;
    }

    Начинающий говнокодер просит оценить его код. Где/что можно улучшить если возможно. Благодарю
    //Напишите программу реализующую игру «Угадай число».Компьютер загадывает число от 0 до 999 (используйте генерацию случайных чисел),
    //а пользователь угадывает его.На каждом шаге угадывающий делает предположение, а задумавший число — сообщает, сколько цифр из числа угаданы
    //и сколько из угаданных цифр занимают правильные позиции в числе.Например, если задумано число 725 и выдвинуто предположение,
    //что задумано число 523, то угаданы две цифры(5 и 2) и одна из них занимает верную позицию.

    radionnazmiev, 25 Ноября 2020

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

    +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
    package java.nio.file;
    
    public final class Files {
        /**
         * Convert a Closeable to a Runnable by converting checked IOException
         * to UncheckedIOException
         */
        private static Runnable asUncheckedRunnable(Closeable c) {
            return () -> {
                try {
                    c.close();
                } catch (IOException e) {
                    throw new UncheckedIOException(e);
                }
            };
        }
    }

    стандартные потрошки джавы это какая-то запредельная протомразь, нарушающая собственные законы физики и запрещающая делать это другим

    Fike, 21 Октября 2020

    Комментарии (29)
  6. Си / Говнокод #26828

    +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
    /*
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %                                                                             %
    %                                                                             %
    %                                                                             %
    +  N T M a p M e m o r y                                                      %
    %                                                                             %
    %                                                                             %
    %                                                                             %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %
    %  Mmap() emulates the Unix method of the same name.
    %
    %  The format of the NTMapMemory method is:
    %
    %    MagickPrivate void *NTMapMemory(char *address,size_t length,int protection,
    %      int access,int file,MagickOffsetType offset)
    %
    */
    MagickPrivate void *NTMapMemory(char *address,size_t length,int protection,
      int flags,int file,MagickOffsetType offset)
    {
      DWORD
        access_mode,
        high_length,
        high_offset,
        low_length,
        low_offset,
        protection_mode;
    
      HANDLE
        file_handle,
        map_handle;
    
      void
        *map;
    
      (void) address;
      access_mode=0;
      file_handle=INVALID_HANDLE_VALUE;
      low_length=(DWORD) (length & 0xFFFFFFFFUL);
      high_length=(DWORD) ((((MagickOffsetType) length) >> 32) & 0xFFFFFFFFUL);
      map_handle=INVALID_HANDLE_VALUE;
      map=(void *) NULL;
      low_offset=(DWORD) (offset & 0xFFFFFFFFUL);
      high_offset=(DWORD) ((offset >> 32) & 0xFFFFFFFFUL);
      protection_mode=0;
      if (protection & PROT_WRITE)
        {
          access_mode=FILE_MAP_WRITE;
          if (!(flags & MAP_PRIVATE))
            protection_mode=PAGE_READWRITE;
          else
            {
              access_mode=FILE_MAP_COPY;
              protection_mode=PAGE_WRITECOPY;
            }
        }
      else
        if (protection & PROT_READ)
          {
            access_mode=FILE_MAP_READ;
            protection_mode=PAGE_READONLY;
          }
      if ((file == -1) && (flags & MAP_ANONYMOUS))
        file_handle=INVALID_HANDLE_VALUE;
      else
        file_handle=(HANDLE) _get_osfhandle(file);
      map_handle=CreateFileMapping(file_handle,0,protection_mode,high_length,
        low_length,0);
      if (map_handle)
        {
          map=(void *) MapViewOfFile(map_handle,access_mode,high_offset,low_offset,
            length);
          CloseHandle(map_handle);
        }
      if (map == (void *) NULL)
        return((void *) ((char *) MAP_FAILED));
      return((void *) ((char *) map));
    }

    Мумуляция «mmap» в «Винде». Это даже работает, если пофиксить две строчки (кто угадает, какие именно, тому ничего).

    Отсюда:
    https://github.com/ImageMagick/ImageMagick/blob/master/MagickCore/nt-base.c

    Myxa, 30 Июля 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def __init__(self, text: str, description: str, category_id: int, auth_cookie: str) -> None:
        Form.__init__(self)
        CsrfForm.__init__(self)
        CaptchaForm.__init__(self)
        self.text: str = text
        self.description: str = description
        self.category_id = category_id
        self.auth_cookie = auth_cookie

    Какое наследование )))

    gost, 28 Июля 2020

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

    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
    Первой модуль Definition_h содержит переменную с именем хоста
    
    if "COMPUTERNAME" in os.environ:
        UNAME = os.environ["COMPUTERNAME"].upper()
    else:
        UNAME = commands.getoutput("hostname").strip().upper()
        
    Второй модуль содержит функцию поведение которой зависит от имени хоста
    
    def func():
        if Definition_h.UNAME == "HKCFF-AS0301" :
            tab["CODE_INTERBQUE"] = self._supplementaryDetails[5:8]
         else :
            tab["CODE_OPE_BQE"] = self._supplementaryDetails[5:8]

    извращенное сознание

    gaal, 04 Марта 2020

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

    −3

    1. 1
    Приведите реальный пример программы на 1С

    Вот прямо типичный пример задачи, где я должен взять именно 1С.

    bagrinho, 08 Февраля 2020

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

    −2

    1. 1
    https://news.ycombinator.com/item?id=21779397

    Я джва года ждал такую книгу!

    bootcamp_dropout, 15 Декабря 2019

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

    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
    from xml.sax.saxutils import unescape
    
    HEADERS = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',
               'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
               'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
               'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3'}
    
    GOOGLE_RE = re.compile(r'<h3 class="r"><a href="([^"]+)" ')
    YANDEX_RE = re.compile(r'<span class="serp-url__mark">.</span><a class="link serp-url__link" target="_blank" href="([^"]+)"')
    PROXY_RE = re.compile(r'(\d+\.\d+\.\d+\.\d+)[:\s]+(\d+)')
    
    def search_google(requests_list, qdr=None, interval=2):
        res = []
        qdr = 'd' if qdr is None or not qdr in ['w', 'd'] else qdr
        REQ_FORMAT = 'https://www.google.com/search?q={0}&num=100&tbs=qdr:' + qdr
        i = 0
    
        for term in requests_list:
            req = REQ_FORMAT.format(term)
            response = requests.get(req, headers=HEADERS)
            if response.status_code != 200:
                print ('Google returned {0}'.format(response.status_code))
                time.sleep(interval)
                continue
    
            txt = response.text
            found = GOOGLE_RE.findall(txt)
            res += found
            print ('done term {0}, found {1} URLs'.format(i, len(found)))
            i += 1
    
            time.sleep(interval)
    
        map(unescape, res)
        
        return res

    Древняя граббилка открытых прокси при помощи поисковых систем. Когда-то даже работала.

    gost, 01 Октября 2019

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