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

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

    +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
    <?php include_once("routing" .DIRECTORY_SEPARATOR  . "Router.php");?>
    <?php include_once("task" . DIRECTORY_SEPARATOR . "Task.php");?>
    <?php include_once("db" . DIRECTORY_SEPARATOR . "DB.php");?>
    <?php include_once("model" . DIRECTORY_SEPARATOR . "Model.php");?>
    <?php 
    class App{
    	public static $webuser = null;
    	public static $config;
    	public static $routing;
    	public static $DB;
    	public static $document_root;
    	
    	public static function run($config){
    		//config
                    self::$config = $config;
                    
                    /**
                     * init database
                     */
                    
                    
                    $db = new DB();
                    $db->connect(self::$config['db']);
                    self::$DB = $db;
                    
                    
                    
                    /**
                     * Run task
                     */
    		$request      = Router::getRequest(self::$config['default_task']);
    		
    		$task_path    = self::$document_root . DIRECTORY_SEPARATOR . "tasks" . DIRECTORY_SEPARATOR . $request . ".php";
                    
                    
                    
    		if(file_exists($task_path )){
    			include_once($task_path);
    			
    			$task = new $request();
    			
    			$task->init();
    		
    		}else {
    			throw new Exception("File don't exists");
    		}
                    
    			
    	}
            
            public static function isGuest(){
                if(is_null(self::$webuser)){
                    return true;
                }
                return false;
            }
    }
    ?>

    http://govnokod.ru/27036#comment585451

    https://habr.com/ru/post/523828/https://habr.com/ru/post/523828/

    я так ахуел, что скачал и посмотрел... говорят теперь я должен сжечь комп

    pahhan, 04 Декабря 2020

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

    +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
    94. 94
    95. 95
    #include <iostream>
    #include <ctime>
    #include <random>
    #include <windows.h>
    #include <cstdint>                             // Для int8_t;
    #include <string>   
    #include <string_view> 
    #include <array>                               
    #include <iomanip>                           // setw();
    
    using namespace std;
    
    const array <string, 94> arr = { "олицетворение", "патология", "субтропики", "лекарь", "предосторожность", "монархист",
            "социум", "клякса", "борщевик", "лемур", "старьевщик", "марсельеза", "послушание", "прикол", "шифровка", "фантом", "субмарина",
            "гладиолус", "сообщество", "гениальность", "трансформация", "пальпация", "усушка", "благополучие", "капелла", "недоумение",
            "траверс", "проныра", "полоскание", "побережье", "закись", "кровопиец", "сыродел", "продвижение", "совместимость", "двойственность",
            "сабботаж", "рассылка", "куратор", "прорицание", "синтез", "негодяй", "паралич", "тяжелоатлет", "освободитель", "кунжут",
            "мордобой", "ностальгия", "хлорофилл", "первооткрыватель", "гипотенуза", "шкатулка", "психиатр", "маэстро", "прыть",
            "пустомеля", "здравоохранение", "алиментщик", "параметр", "аннотация", "пудинг", "прыжок", "пневматика", "штырь", "фасовщик",
            "совместитель", "свиновод", "яйцеварка", "зверобой", "тундра", "вогнутость", "рикошет", "компромисс", "фоторепортер",
            "кордебалет", "нумизмат", "гипербола", "желтизна", "брезент", "ботфорты", "гостинец", "символист", "акустика", "психика",
            "удивление", "уховертка", "снежинка", "меценат", "атомоход", "контрабас", "брюква", "миловидность", "спринтер", "пунктир" };
    
    int randNumber(int min, int max)
    {
        random_device rd;  //Will be used to obtain a seed for the random number engine
        mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
        uniform_int_distribution<int> distrib(min, max);
        return distrib(gen);
    }
    
    string_view randString()
    {
        return (string_view)arr[randNumber(0, arr.size())];
    }
    
    void printGuessedChar(string_view input, string_view randWord)
    {
        for (int i = 0; i < randWord.size(); ++i)
        {
            for (int j = 0; j < input.size(); ++j)
            {
                if (randWord[i] == input[j])
                {
                    cout << randWord[i];
                    break;
                }
            }
            cout << '*';
        }
        cout << endl;
    }
    
    int randNumber(int min, int max)
    {
        random_device rd;  //Will be used to obtain a seed for the random number engine
        mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd()
        uniform_int_distribution<int> distrib(min, max);
        return distrib(gen);
    }
    
    void theGame()
    {
        cout << "Добро пожаловать в игру 'Виселица'!" << endl;
        string_view randWord = randString();
        cout << "Компьютер сгенерировал слово" << endl;
        cout << "Слово - ";
        for (int i = 0; i < randWord.size(); ++i)
        {
            cout << '*';
        };
        cout << endl;
        int8_t count = 0;
        string input;
        do
        {
            cout << "У вас " << 6 - count << " попыток угадать слово." << endl << "Введите букву: ";
            if (cin.fail()) // если предыдущее извлечение оказалось неудачным,
            {
                cin.clear(); // то возвращаем cin в 'обычный' режим работы
                cin.ignore(32767, '\n'); // и удаляем значения предыдущего ввода из входного буфера
            }
            cin >> setw(1) >> input[count];
            printGuessedChar(input, randWord);
            ++count;
        } while (count != 6);
    }
    
    int main()
    {
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        srand((unsigned)time(nullptr));
        theGame();
    }

    Заколебался уже с этим кодом. Не получается впихнуть пользовательский ввоз в массив...Первая попытка освоить std::string и std::string_view. Ну и в целом советы по коду приветствуются. Благодарю
    //Давайте напишем популярную игру, которая называется «Виселица».В игре вам нужно угадать слово, которое загадала программа, буква за буквой.
    //Игрок угадывает одну букву за раз и может ошибиться только 6 раз(после этого он проигрывает).
    //Необходимый функционал вашей программы :
    //создайте массив слов(например, поместите туда 40 слов) и рандомным образом выберите 1 слово для угадывания;
    //программа должна выводить длину всего слова и отображать буквы, которые угадал игрок;
    //после каждого неудачного угадывания, программа должна сообщить игроку, сколько у него осталось попыток неверно указать букву, прежде чем он проиграет;
    //если человек указал букву, которую ранее уже угадывал, и она не дублируется в слове, то не наказывайте его, а просто предоставьте возможность угадать букву еще раз.
    //Например, компьютер загадал слово INTERESTING :
    //
    //Добро пожаловать в игру "Виселица"!
    //Слово - _ _ _ _ _ _ _ _ _ _ _
    //Угадайте букву : S
    //Верно - _ _ _ _ _ _ S _ _ _ _
    //Угадайте следующую букву : F
    //Неверно!Такой буквы нет, у вас осталось 5 попыток неверно указать букву!
    //...

    radionnazmiev, 30 Ноября 2020

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

    +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
    <?php
    $data = file_get_contents('https://music.yandex.ru/users/[данные удалены]/playlists/[данные удалены]');
    $data = json_decode($data);
    $tracks = $data->result->tracks;
    $track = $tracks[$argv[1]]; // передаём номер песни из плейлиста
    /* Step 1 */
    $trackId = $track->track->id;
    $albumId = $track->track->albums[0]->id;
    $time = strval(time()) . '000';
    $url1 = 'https://music.yandex.ru/api/v2.1/handlers/track/' . $trackId . '%3A' . $albumId . '/web-user_playlists-playlist-track-saved/download/m?hq=0&external-domain=music.yandex.ru&overembed=no&__t=' . $time;
    
    $options['http']['header'] = "Accept: application/json; q=1.0, text/*; q=0.8, */*; q=0.1\r\n"
                               . "X-Retpath-Y: https%3A%2F%2Fmusic.yandex.ru%2F\r\n"
                               . "X-Requested-With: XMLHttpRequest\r\n"
                               . "User-Agent: Mozilla/5.0 [данные удалены]\r\n"
                               . "Cookie: [данные удалены]\r\n";
    $context = stream_context_create($options);
    $data = file_get_contents($url1, false, $context);
    $data = json_decode($data);
    /* Step 2 */
    $time = strval(time()) . '000';
    $url2 = 'https:' . $data->src . '&format=json&external-domain=music.yandex.ru&overembed=no&__t=' . $time;
    $data = file_get_contents($url2);
    $data = json_decode($data);
    /* Step 3 */
    $salt = 'XGRlBW9FXlekgbPrRHuSiA';
    $hash = md5($salt . substr($data->path, 1) . $data->s);
    $url3 = 'https://' . $data->host . '/get-mp3/' . $hash . '/' . $data->ts . $data->path;
    
    $name = $track->track->title;
    if(isset($track->track->version)) {
        $name .= ' (' . $track->track->version . ')';
    }
    
    $artists = array();
    foreach($track->track->artists as $artist) {
        $artists[] = $artist->name;
    }
    $name = implode(',', $artists) . ' - ' . $name;
    
    $name = strtr($name, ':/\\*?<|>', '________');
    $name = str_replace('"', '”', $name);
    $name = mb_substr($name, 0, 255-4);
    
    copy($url3, $name . '.mp3');

    Найдётся всё.

    Fainal_kantdaun, 26 Ноября 2020

    Комментарии (38)
  5. JavaScript / Говнокод #27124

    +1

    1. 1
    console.log("Hello, World!");

    https://en.wikipedia.org/wiki/World_Hello_Day

    3_dar, 21 Ноября 2020

    Комментарии (246)
  6. C++ / Говнокод #27121

    +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
    #include <iostream>
    using namespace std;
    
    int del(int s)
    {
    	int k = 0;
    	for (int i = 1;i <= 20;i++)
    	{
    		if (s % i == 0)
    		{
    			k++;
    		};
    
    	};
    	return k == 20;
    
    }
    
    int main()
    {
    	unsigned long int q = 1;
    	for (int i = 1;i <= 20;i++)
    	{
    		q = q*i;
    	}
    	for (int i=1;i<=q;i++)
    	{
    		if (del(i))
    		{
    			cout << i;
    			break;
    		}
    	}
    	return 0;
    }

    2520 - самое маленькое число, которое делится без остатка на все числа от 1 до 10.

    Какое самое маленькое число делится нацело на все числа от 1 до 20?

    Что за неоптимизированное говно я сейчас сделал.........

    NikEral7, 19 Ноября 2020

    Комментарии (467)
  7. C# / Говнокод #27114

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    DeliveryTruck t when t.GrossWeightClass switch
    {
        < 3000 => 10.00m - 2.00m,
        >= 3000 and <= 5000 => 10.00m,
        > 5000 => 10.00m + 5.00m,
    }

    С каждой новой версией C# всё меньше похож на C# и всё больше на Perl.

    Vindicar, 14 Ноября 2020

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

    +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
    In order to fund the development work on speeding CPython by a factor of five, something like $2M will be required.
    This seems like a sizeable sum, but compared to the amount of money spent on Python development and the 
    cost of running Python applications, it is quite a modest sum.
    
    ---
    
    The overall aim is to speed up CPython by a factor of (approximately) five. We aim to do this in four distinct stages, 
    each stage increasing the speed of CPython by (approximately) 50%.
    
    1.5**4 ≈ 5
    
    ---
    
    The interpreter will adapt to types and values during execution, exploiting [b]type stability[/b] in the program
    
    ---
    
    Improved performance for [b]integers of less than one machine word[/b].
    Improved peformance for [b]binary operators[/b].
    
    ---
    
    Simple "JIT" compiler for small regions. Compile small regions of specialized code, using a relatively simple, fast compiler.
    Extend regions for compilation. Enhance compiler to generate [b]superior machine code[/b].

    питонисты готовят новую версию интерпретатора с революционной фичей - возможностью отъема денег у населения. Ожидается, что нововведение позволит языку быстро заработать очки на рынке пускания пыли в глаза.

    https://github.com/markshannon/faster-cpython

    Fike, 13 Ноября 2020

    Комментарии (65)
  9. C++ / Говнокод #27105

    +1

    1. 1
    2. 2
    using T = int;
    0 .T::~T();

    Чем-то меня эта (полностью валидная) коньструкция очаровала.

    gost, 12 Ноября 2020

    Комментарии (25)
  10. Си / Говнокод #27103

    +1

    1. 1
    #define LEAP_YEAR_OR_NOT(year)( ( year % 4 ) ? ( 0 ) : ( 1 ) )

    Тот кто это писал, видимо рассуждал примерно так:

    - В 2100 году это конечно забагует, но это будет уже не моя проблема.

    j123123, 11 Ноября 2020

    Комментарии (41)
  11. Kotlin / Говнокод #27087

    +1

    1. 1
    2. 2
    Currently it's hard or even impossible to use hexadecimal literal constants that result in overflow of the corresponding signed types. 
    https://github.com/Kotlin/KEEP/blob/master/proposals/unsigned-types.md

    какой пиздец!!!

    MAKAKA, 06 Ноября 2020

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