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

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

    −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
    let glb1 = 0;
    
    class Color {
        static constructor() {
            glb1++;
            print("Static construct");
        }
    
        constructor(public r: number,
            public g: number,
            public b: number) {
        }
    
        static white = 1;
    }
    
    class Color2 {
        static constructor() {
            glb1++;
            print("Static construct 2");
        }
    }
    
    function main() {
        assert(glb1 == 2);
        print("done.");
    }

    добавил статические кострукторы... а то забыл эту хню сделать

    ASD_77, 21 Октября 2021

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

    −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
    # Дамп базы хуза
    # Постобработка export-а из MySQL
    
    import pandas as pd
    import numpy as np
    import csv
    
    comments = pd.read_csv('/wp_comments-2.csv', header=None)
    comments.head()
    
    ##
    
    comments_clean = pd.DataFrame({
        'comment_id': comments[0],
        'comment_post_id': comments[1],
        'comment_parent': comments[13],
        'name': comments[2],
        'gravatar_hash': comments[3].str.split('@').str[0],
        'gravatar_domain': comments[3].str.split('@').str[1],
        'profile': comments[4],
        'date': comments[6],
        'content': comments[8],
    })
    
    ##
    
    comments_clean[(comments_clean.gravatar_domain != 'lo.ol') & ~comments_clean.gravatar_domain.isna()]
    
    ##
    
    comments_clean = comments_clean[(comments_clean.gravatar_domain == 'lo.ol') | comments_clean.gravatar_domain.isna()]
    comments_clean.drop(columns=['gravatar_domain'], inplace=True)
    comments_clean.head()
    
    ##
    
    posts = pd.read_csv('/wp_posts.csv', header=None)
    posts = posts[(posts[20] == 'post') & (posts[7] == 'publish') & (posts[11].str.match('^_'))]
    posts.head()
    
    ##
    
    posts_clean = pd.DataFrame({
        'post_id': posts[0],
        'date': posts[2],
        'content': posts[4],
        'description': posts[6],
        'original_id': posts[11].str[1:]
    })
    posts_clean.head()
    
    ##
    
    comments_clean.to_csv('~/Downloads/gost/comments.csv', index=False)
    posts_clean.to_csv('~/Downloads/gost/posts.csv', index=False)

    https://govnokod.xyz/dump/wp_gk_legacy_users.csv
    ../comments.csv
    ../posts.csv

    guest6, 26 Августа 2021

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function main() {
        var distance = parseInt(readLine(), 10);
        p((distance/40)*60)
    }
    let p=p=>console.log(p)

    Как-то так вот!

    prefix-not, 09 Февраля 2021

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

    0

    1. 1
    'x'.repeat(a).concat('x'.repeat(b)).length

    Сложение чисел a и b без использования операторов + и -

    Мистер Хэнки, 12 Января 2021

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

    +1

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

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

    gost, 12 Ноября 2020

    Комментарии (25)
  7. 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)
  8. Ruby / Говнокод #26914

    0

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

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

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

    Комментарии (25)
  9. 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)
  10. Си / Говнокод #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)
  11. 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)