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

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

    +1

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

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

    gost, 12 Ноября 2020

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    ДанныеКальлулятора = ПолучитьДанныеКалькулятораПоЗаявке(Заявка);
    	Расчет = ДанныеКальлулятора["ТЧ.Расчет"].Скопировать();
    	
    	ОстаточнаяПроцент = ДанныеКальлулятора["впОстаточнаяСтоимость"];
    	ПроцентнаяСтавка = ПолучитьДанныеКалькулятораПоЗаявке(Заявка)["рпСтоимостьКапитала"];
    	СрокЛизингаСтарыйИзКалькулятора = ПолучитьДанныеКалькулятораПоЗаявке(Заявка)["впСрокЛизинга"];
    	
    	ГибридСтавкаФинансированияКапитальнаяЧасть = ПолучитьДанныеКалькулятораПоЗаявке(Заявка)["ГибридСтавкаФинансированияКапитальнаяЧасть"];
    	ГибридСтавкаФинансированияОстаточнаяЧасть = ПолучитьДанныеКалькулятораПоЗаявке(Заявка)["ГибридСтавкаФинансированияОстаточнаяЧасть"];
    	ГибридФианансоваяМаржаКапитальнаяЧасть = ПолучитьДанныеКалькулятораПоЗаявке(Заявка)["ГибридФианансоваяМаржаКапитальнаяЧасть"];
    	ГибридФианансоваяМаржаОстаточнаяЧасть = ПолучитьДанныеКалькулятораПоЗаявке(Заявка)["ГибридФианансоваяМаржаОстаточнаяЧасть"];

    Как ж бомбит. Отраслёвка лизинговая

    sandvich, 02 Октября 2020

    Комментарии (25)
  4. Ruby / Говнокод #26914

    0

    1. 1
    2. 2
    3. 3
    4. 4
    Отбор = Новый Структура();
    Отбор.Вставить("РабочийДокумент", Работы[0].РабочийДокумент.Ссылка);
    			
    ВсеСтатусыЗаявки = РегистрыСведений.Renault_АвтосервисСтатусыРабот.СрезПоследних().НайтиСтроки(Отбор);

    РегистрыСведений.Renault_АвтосервисСтату сыРабот.СрезПоследних() возвращает окол 200 000 записей и работает около 5 секунд.

    NioGoth, 03 Сентября 2020

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

    +4

    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
    import random
    
    
    def get_advice():
        ADVICES_VERBS = [
            'выключите',
            'включите',
            'перезагрузите',
            'проверьте',
            'переустановите',
            'запустите',
            'закройте',
        ]
        ADVICES_NOUNS = [
            ['компьютер'],
            ['роутер'],
            ['программу'],
            ['средство', 'восстановления', 'Windows'],
            ['браузер'],
            ['сайт'],
            ['панель', 'управления'],
            ['антивирус'],
        ]
        ADVICES_PREPS = [
            ['а', 'затем'],
            ['после', 'чего'],
            ['и'],
            ['а', 'если', 'это', 'не', 'сработает,', 'то'],
        ]
        verbs = random.sample(ADVICES_VERBS, 2)
        nouns = random.sample(ADVICES_NOUNS, 2)
        prep = random.choice(ADVICES_PREPS)
        return '{} {}{}{} {} {}.'.format(
            verbs[0].capitalize(),
            ' '.join(nouns[0]),
            (', ' if prep[0] != 'и' else ' '),
            ' '.join(prep),
            verbs[1],
            ' '.join(nouns[1])
        )

    Универсальный ИИ-помощник для решения технических проблем, версия 0.0.1.

    gost, 29 Июня 2020

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

    +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
    #ifndef CONIO_H
    #define	CONIO_H
    
    #ifdef	__cplusplus
    extern "C" {
    #endif
    
    #include <ncurses.h>
    
    #define BLUE COLOR_BLUE
    #define RED COLOR_RED
    #define WHITE COLOR_WHITE
    #define BLACK COLOR_BLACK
    #define MAGENTA COLOR_MAGENTA
    #define CYAN COLOR_CYAN
    #define GREEN COLOR_GREEN
    #define YELLOW COLOR_YELLOW
    #define LIGHTBLUE COLOR_BLUE
    #define LIGHTRED COLOR_RED
    #define LIGHTGREEN COLOR_GREEN
    
    #undef getch
    
    void init_screen(void);
    
    void gotoxy(int x,int y);
    void clrscr(void);
    void clreol(void);
    int kbhit(void);
    void textbackground(int color);
    void textcolor(int color);
    void delline(void);
    void window(int left, int top, int right, int bottom);
    int getch(void);
    int getche(void);
    int wherex(void);
    int wherey(void);
    int cputs(char*);
    char* cgets(char*);
    int cprintf(const char*, ...);
    int cscanf(const char*, ...);
    
    #ifdef	__cplusplus
    }
    #endif
    
    #endif	/* CONIO_H */

    УЕЕЕЕЕЕЕЕЕЕ!!!!!!

    ЕСТЬ КОНИО ПОД ПРЫЩИ!!!

    https://github.com/nowres/conio-for-linux

    OCETuHCKuu_nemyx, 08 Июня 2020

    Комментарии (25)
  7. PHP / Говнокод #25945

    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
    <?php
    
    function word_by_index($index, $dicts) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $result = '';
        foreach($sizes as $key=>$size) {
            $result .= $dicts[$key][$index % $size]; // сцепляем слово из частей
            $index = floor($index / $size);
        }
        return $result;
    }
    
    function R($hash, $dicts, $total) {
        $index = gmp_intval(gmp_mod(gmp_init($hash, 16), $total));
        return word_by_index($index, $dicts); 
    }
    
    function make_chain($start, $length, $dicts, $total) {
        $chain['start'] = $start;
        for($i = 0; $i < $length; ++$i) {
            $hash = md5($start);                    // <-- сюда вставьте нужную хэш-функцию
            // echo ">>> $hash : $start\n";            // диагностическое сообщение
            $start = R($hash, $dicts, $total);
        }
        $chain['end'] = $hash;
        echo "Chain from ${chain['start']} to ${chain['end']} is ready.\n"; // диагностическое сообщение
        return $chain;
    }
    
    function make_chains($count, $length, $dicts) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
        $chains = [];
        mt_srand();
        for($i = 0; $i < $count; ++$i) {
            $word = word_by_index(mt_rand(0, $total - 1), $dicts);  // начинаем цепочку с псевдослучайного слова
            $chain = make_chain($word, $length, $dicts, $total);
            $hash = $chain['end'];                               // используем конец найденной цепочки как индекс для быстрого поиска
            if(!isset($chains[$hash])) $chains[$hash] = [];      // если такого хэша не было в корзине, инициализируем её
            if(!in_array($chain['start'], $chains[$hash])) {     // проверяем на дубли
                $chains[$hash][] = $chain['start'];              // добавляем начало цепочки в корзину
            }
        }
        return $chains;
    }
    
    function find_hash_in_basket($needle, $haystack_start, $haystack_end, $dicts, $total) {
        echo "Роемся в цепочке от $haystack_start до $haystack_end.\n";       // диагностическое сообщение
        $current_word = $haystack_start;
        do {
            $current_hash = md5($current_word);         // <-- сюда вставьте нужную хэш-функцию
            if($current_hash === $needle) {
                 return $current_word;                  // нашли слово, хэш от которого равен заданному
            }
            $current_word = R($current_hash, $dicts, $total);  // роем в глубину
        } while($current_hash !== $haystack_end);
        return false; // не нашли
    }
    
    function search_hash($hash, $dicts, $chains, $length) {
        $sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
        $total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
        $current_hash = $hash;
        for($i = 0; $i < $length; ++$i) {
              if(isset($chains[$current_hash])) {                // нашли хэш в одной из корзин
                  echo "Лезем в корзину $current_hash.\n";       // диагностическое сообщение
                  foreach($chains[$current_hash] as $start) {    // роемся в корзине
                      $result = find_hash_in_basket($hash, $start, $current_hash, $dicts, $total); // пытаемся найти в каждой из цепочек корзины
                      if($result) {
                          return $result;                        // конец поиска
                      }
                  }
              }
              $next_word = R($current_hash, $dicts, $total);             // копаем в глубину
              $current_hash = md5($next_word);
        }
        return false; // не нашли
    }
    
    ///////////////////// ПРИМЕР //////////////////////////////////
    
    $dicts= array(
          array('свино',  'овце', 'тигро', 'косатко', 'зубро', 'волко', 'кото'),
          array('собака', 'бык',  'лев',   'дельфин', 'бизон')
    );
    
    $chains = make_chains(15, 15, $dicts);
    echo "Радужные таблицы готовы.\n";
    var_dump($chains);
    
    $hash = '360629d3cf05cee0240a23e1251c58a0';
    echo "Пытаемся обратить $hash.\n";
    $word = search_hash($hash, $dicts, $chains, 15);
    echo "$hash is reversed to $word.\n";

    По просьбам трудящихся.

    Выхлоп на Ideone:
    http://ideone.com/otdCDg

    ropuJIJIa, 13 Октября 2019

    Комментарии (25)
  8. Куча / Говнокод #25893

    0

    1. 1
    2. 2
    3. 3
    https://habr.com/ru/post/318876/
    Ублюдок украл код, который я когда-то здесь запостил и выдал за свой. Ай, как некрасиво!..
    И это на сайте, где блять ценят "уникальный контент".

    Между прочим, этот код взят из потрохов JVCL, но в посте нет ни слова об этом.
    Таким образом, этот лошара ещё и насрал на MPL.

    cmepmop, 01 Октября 2019

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

    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
    function filterMenu(){
        global $keyboard, $settings;
        $filter_status_name = [ 1 => 'анонсировано', 2 => 'сейчас выходит', 3 => 'вышедшее' ];
        $filter_order_name = [ 1 => 'по рейтингу', 2 => 'по популярности', 3 => 'по алфавиту', 3 => 'по дате выхода' ];
        $filter_kind_name = [ 1 => 'TV Сериал', 2 => 'фильм' ];
        if( $settings['filter']['menu'] == 0 OR !isset($settings['filter']['menu']) ){
            keyboard( 'Включить фильтр ', 0, [ 't' => '3', 'm' => 1 ] );
        }else{
            keyboard( 'Выключить фильтр ', 0, [ 't' => '3', 'm' => 0 ] );
            switch ($settings['filter']['menu']) {
                case 1:
                    keyboard( 'Статус' . ((isset($settings['filter']['status']))?': '.$filter_status_name[$settings['filter']['status']]:''), 1, [ 't' => '3', 'm' => 2 ] );
                    keyboard( 'Сортировка' . ((isset($settings['filter']['order']))?': '.$filter_order_name[$settings['filter']['order']]:''), 1, [ 't' => '3', 'm' => 3 ] );
                    keyboard( 'Тип' . ((isset($settings['filter']['kind']))?': '.$filter_kind_name[$settings['filter']['kind']]:''), 2, [ 't' => '3', 'm' => 4 ] );
                    keyboard( 'Жанр', 2, [ 't' => '3', 'm' => 5 ] );
                break;
                case 2:
                    keyboard( 'Анонсировано', 11, [ 't' => '3', 'm' => 1, 'n' => 1, 's' => 1 ] );
                    keyboard( 'Сейчас выходит', 11, [ 't' => '3', 'm' => 1, 'n' => 1, 's' => 2 ] );
                    keyboard( 'Вышло', 12, [ 't' => '3', 'n' => 1, 's' => 3 ] );
                    keyboard( 'Не важно', 90, [ 't' => '3', 'm' => 1, 'n' => 1, 's' => 0 ] );
                break;
                case 3:
                    keyboard( 'По рейтингу', 11, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 1 ] );
                    keyboard( 'По популярности', 11, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 2 ] );
                    keyboard( 'По алфавиту', 12, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 3 ] );
                    keyboard( 'По дате выхода', 12, [ 't' => '3', 'm' => 1, 'n' => 2, 's' => 4 ] );
                break;
                
                case 4:
                    keyboard( 'TV Сериал', 11, [ 't' => '3', 'm' => 1, 'n' => 3, 's' => 1 ] );
                    keyboard( 'Фильм', 11, [ 't' => '3', 'm' => 1, 'n' => 3, 's' => 2 ] );
                    keyboard( 'Не важно', 90, [ 't' => '3', 'm' => 1, 'n' => 3, 's' => 0 ] );
                break;
            }
        }
        $keyboard['inline_keyboard'] = array_values($keyboard['inline_keyboard']);
    }
    if( isset( $input['message'] ) ){
        //sendMethod ( 'sendMessage', ['chat_id' => 66478514, 'text' => json_encode($input), 'parse_mode' => 'HTML'] );
        if( $input['message']['chat']['type'] == 'private' ){
            if( $chat_id == 166478514 ){
                $horney = json_decode( file_get_contents("horney.json" ), true );
                foreach ($horney['questions'] as $quest => $answer) {
                    $atext = explode(" ", $text);
                    $aquest = explode(" ", $quest);
                    $result = array_diff($atext, $aquest);
                    if( count($result) > 0 ) sendMethod ( 'sendMessage', ['chat_id' => 66478514, 'text' => $quest, 'parse_mode' => 'HTML'] );
                }
            }
            if( stripos($text, 'start') == 1 ){
                $start = explode(' ', $text )[1];
                if( isset($start) ){
                    $parm = explode('_', $start );
                    if( $parm[0] == 'a' ){
                        $id = $parm[1];
                        goto getAnime; // пиздец

    Чисто опенсорс, пацаны

    https://github.com/LyoSU/HorneyBot/blob/19c915c8cc982c38aeea12d07ce0163a8fe98780/src/index.php#L150
    https://github.com/LyoSU/HorneyBot

    kiberbiber, 20 Сентября 2019

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

    −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
    hxStr = []
    for x in range(256):
        hxStr.append('{:02X}'.format(x))
    ascChr = []
    for i in range(32, 128):
        ascChr.append(chr(i))
    data = [
        0xBE, 0xEF, 0xDE, 0xAD
    ]
    lines = (len(data)//16)
    if len(data)%16 != 0:
        lines += 1
    i = 0
    pr = ''
    for x in range(lines):
        pr += "{:000000008X}{:1}|{:1}".format(x*16,'','')
        btes = []
        symbs = []
        for y in range(i,i+16,1):
            if y >= len(data):
                for x in range((lines*16)-y):
                    symbs.append(' ')
                    btes.append(' ')
                break
            if chr(data[y]) in ascChr:
                symbs.append(chr(data[y]))
            else:
                symbs.append('∙')
            btes.append(hxStr[data[y]])
        i = y+1
        for y in range(len(btes)):
            pr += "{:3}".format(btes[y])
        pr += '|{:1}'.format('')    
        for y in range(len(symbs)):
            pr += "{:1}".format(symbs[y])
        pr += '\r\n'    
    print("{:9}|{:1}0{:2}1{:2}2{:2}3{:2}4{:2}5{:2}6{:2}7{:2}8{:2}9{:2}A{:2}B{:2}C{:2}D{:2}E{:2}F{:2}|\
    {:1}0123456789ABCDEF".format('Offset','','','','','','','','','','','','','','','','','','',''))    
    print(pr)

    наваял типа 16ричный вьювер

    MegaCrap, 05 Сентября 2019

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

    +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
    function getStringSizes($width = NULL, $height = NULL, $depth = NULL, $unit = NULL)
    {
        if (!$width && !$height && !$depth)
            return NULL;
        $strResult = '';
        if ($width)
            $strResult .= $width;
        if ($height) {
            if (!empty($strResult))
                $strResult .= ' x ';
            $strResult .= $height;
        }
        if ($depth) {
            if (!empty($strResult))
                $strResult .= ' x ';
            $strResult .= $depth;
        }
        if ($unit)
            $strResult .= ' ' . $unit;
        return $strResult;
    }

    когда забыл про существование implode

    just4fun, 03 Июня 2019

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