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

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

    0

    1. 1
    2. 2
    3. 3
    def decode_flag(event_states: str) -> bool:
        flag = 1 if int(event_states, 16) & 10_000_000_000_000_000 else 0
        return bool(flag)

    Кусок из реального коммерческого проекта
    Есть стринга из 8 символов - флагов (0 или 1), но нас интересует только 4 символ в ней

    lpjakewolfskin, 08 Сентября 2022

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

    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
    '''
    Main file of bot
    Главный фаил бота
    '''
    from discord.ext import commands
    
    import wotb_api
    import settings
    import messages as m
    from messages_gen import pars
    from settings import bot_settings
    
    
    class App():
        '''
        Main class of bot
        Главный класс бота
        '''
        def __init__(self):
            self.pars = pars()
            self.msg = m.msg()
            self.api = wotb_api.API()
            self.bot = commands.Bot(command_prefix=
                                    bot_settings['command_prefix'])
            self.__token__ = settings.bot_settings['TOKEN']
    
        def error_handler(self,data):
            '''
            Сопостовляем полученную ошибку со словарём
            и возвращаем True если данные совпадают
            со словарём ошибок.
            '''
            for i in self.api.error_list:
                if data == i:
                    return True
            return False
    
        def main(self):
            '''
            Здесь описанна логика бота, и его взаимодействие
            с другими модулями
            '''
            @self.bot.command()
            async def stats(ctx):
                command = ctx.message.content
                command = command.split(' ')
                print(f'Запрос: {command}')
    
                if len(command) == 2:
                    player_data = self.api.get_player_stats(command[1])
                    if self.error_handler(player_data):
                        await ctx.send(embed = self.
                                       msg.return_error_emb(player_data))
                    else:
                        embed = self.pars.get_data(player_data,
                                                   self.api.last_id)
                        await ctx.send(embed = embed)
    
                elif len(command) == 3:
                    player_data = self.api.get_player_stats(command[1],
                                                            command[2])
                    if self.error_handler(player_data):
                        await ctx.send(embed = self.
                                       msg.return_error_emb(player_data))
                    else:
                        embed = self.pars.get_data(player_data,
                                                   self.api.last_id)
                        await ctx.send(embed = embed)
    
                elif len(command) > 3:
                    await ctx.send(embed = self.msg.return_error_emb('CFE'))
                else:
                    await ctx.send(embed = self.msg.return_error_emb('NN'))
    
            @self.bot.command()
            async def ver(ctx):
                await ctx.send(embed = self.msg.about_embed())
    
            @self.bot.command()
            async def server(ctx):
                command = ctx.message.content
                command = command.split(' ')
    
                if len(command) == 2:
                    if command[1].lower() == 'all':
                        s_status = ''
                        s_status = self.api.get_server_status('all')
                        if self.error_handler(s_status):
                            embed = ''
                            embed = self.msg.return_error_emb(s_status)
                            await ctx.send(embed = embed)
                        else:
                            embed = ''
                            embed = self.pars.server_status_all(s_status)
                            await ctx.send(embed = embed)

    Как вам код в плане читаемости. Pylint дал мне 9.78/10 балов (это не полный код)

    Non_type_object, 17 Июля 2022

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

    −9

    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
    const puppeteer = require('puppeteer-core');
    const fs = require('fs');
    const getCurrentLine = require('get-current-line').default;
    const { execFileSync } = require('child_process');
    
    const data = fs.readFileSync('aviso.bz.cookies.json');
    const cookies = JSON.parse(data.toString());
    
    function randomInteger(min, max) {
      let rand = min - 0.5 + Math.random() * (max - min + 1);
      return Math.round(rand);
    }
    
    function delay(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time*1000)
       });
    }
    
    function delay2(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time)
       });
    }
    
    let ext = '/home/user/aviso/extensions/1.42.4_0';
    
    (async () => {
      const browser = await puppeteer.launch({
        headless: false,
        defaultViewport: null,
        executablePath: '/usr/bin/chromium',
    devtools: false,
        args: [
    '--start-maximized',
    //'--user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36"',
    //`--disable-extensions-except=${ext}`,
    //`--load-extension=${ext}`
     ]
      });
    
      const page = await browser.newPage();
      await page.setDefaultNavigationTimeout(0);
    
      let newPage;
    
      await page.setCookie(...cookies);
      await page.goto('https://aviso.bz/work-youtube', {waitUntil: 'networkidle0'});
    //await delay(1000);
      let c = 0;
      while(true) {
    
      if(c == 100) {
        await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
        c = 0;
      }
    
    let t = await page.$('[id^="ads-link-"]');
    if(t == null) {
    console.log('wait new tasks...');
    await delay(10);
    await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
    c = 0;
    continue;
    }
    let tt = await t.evaluate((q) => getComputedStyle(q).display);
    if(tt == 'none') {
    console.log('del inactive')
    page.evaluate(q => { document.querySelector('[id^="ads-link-"]').remove(); })
    continue;
    }
    
    let tr = await page.$('tr[class^="ads_"]');
    let span = await tr.$('[onclick^="funcjs[\'start_youtube"]');
    let title = await span.evaluate(el => el.textContent.trim());
    console.log('title: \''+title+'\'');
    let sec = await tr.$('td[align="right"] span[class="serf-text"]');
    let secs = await sec.evaluate(el => el.textContent.trim());
    console.log('sec: ' + secs.split(' ')[0]);
    
    let newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page())));
    
    //await page.waitForSelector('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //let x = await page.$('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //console.log(x.click);
    await page.waitForTimeout(2000);
    try {
    await page.click('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    }
    catch(e) {
    console.log('error! del item');
    await page.evaluate(() => {
        document.querySelector('tr[class^="ads_"]').remove()
      });
    continue; } await page.waitForSelector('span[onclick^="funcjs[\'open_window\']"]', { timeout: 60000 }); await delay2(randomInteger(700, 2000)); await page.click('span[onclick^="funcjs[\'open_window\']"]'); newPage = await newPagePromise; await newPage.bringToFront(); const userAgent = await newPage.evaluate(() => navigator.userAgent ); console.log(userAgent) //let pages = await browser.pages(); console.log('> '+newPage.url()); await newPage.waitForSelector('tr[id="timer-tr-block"]', { timeout: 200000 }); await delay(randomInteger(2, 4)); console.log('yt click'); const frame = await newPage.waitForSelector('iframe'); let rect = await newPage.evaluate(el => { let {width, height} = el.getBoundingClientRect(); return {width, height}; }, frame); await newPage.mouse.click(rect.width / 2, rect.height / 2); //execFileSync('xdotool', ['mousemove', '960', '611']); //execFileSync('xdotool', ['click', '1']); console.log('waiting'); await newPage.waitForSelector('a[href=""]', { timeout: 200000 }); console.log('ok'); await delay2(randomInteger(900, 1500)); //console.log('> '+newPage.url()); await newPage.close(); await delay2(500); await page.bringToFront(); await page.evaluate(() => { document.querySelector('tr[class^="ads_"]').remove() }); await delay(randomInteger(1, 3)); console.log('c: '+ ++c +"\n"); } await browser.close(); })();

    автосборщик бабла для aviso

    paroljanet, 23 Мая 2022

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

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public function validate($mailAddress)
    {
        $this->mailAddress = $mailAddress;
        if($this->validateMailAddress()) {
            if ($this->checkMXRecord()) {
                throw new \Exception('Mail is valid');
            }
        }
        throw new \Exception('Mail is invalid');
    }

    pefigah572, 04 Мая 2022

    Комментарии (12)
  6. JavaScript / Говнокод #27957

    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
    // @strict: true
    // @lib: es2020
    // @declaration: true
    type BadFlatArray<Arr, Depth extends number> = {
        obj: {
            "done": Arr,
            "recur": Arr extends ReadonlyArray<infer InnerArr>
            ? BadFlatArray<InnerArr, [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]>
            : Arr
        }[Depth extends -1 ? "done" : "recur"]
    }["obj"];
    
    declare function flat<A, D extends number = 1>(
        arr: A,
        depth?: D
    ): BadFlatArray<A, D>[]
    
    function foo<T>(arr: T[], depth: number) {
        return flat(arr, depth);
    }
    
    function main() {
        foo<number>([1.0, 2.0], 2);
    }

    спорим вы нихрена не поняли что это такое?

    ASD_77, 16 Января 2022

    Комментарии (12)
  7. JavaScript / Говнокод #27952

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function foo(x = class { static prop: string }): string {
        return undefined;
    }
    
    function main() {
        foo(class { static prop = "hello" }).length;
        print("done.");
    }

    ну что С/C++ скушали? а ты так можешь говнокодить?

    ASD_77, 14 Января 2022

    Комментарии (12)
  8. bash / Говнокод #27769

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #!/usr/bin/env bash
    
    URL=https://foo.bar/baz.zip
    PATH=/home/foo/bar/baz.zip
    
    wget -O "$PATH" "$URL"

    И только потом до мена дошло…

    ISO, 26 Октября 2021

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

    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
    #include <string>
    #include <iostream>
     
    int foo() {
    	std::string str = "file://*";
    	std::cout << str << std::endl;
    	return 0;
    }
     
    /*
    int bar() {
    	std::string str = "file://*";       // warning: '/*' within block comment [-Wcomment]
    	std::cout << str << std::endl;
    	return 0;
    }
    */
     
    int main() {
    	foo();
    	//bar();
    }

    Какой багор

    https://ideone.com/NiXH2q

    3_dar, 19 Октября 2021

    Комментарии (12)
  10. Куча / Говнокод #27717

    −2

    1. 1
    2. 2
    В начале сентября Лицокнига представила т.н. "умные очки" - девайс в виде очков со встроенной камерой.
    ФСБ России уже отнесли гаджет к УНПИ. Наказание за использование спецтехники - до 4 лет лишения свободы.

    Не пойму, как можно назвать "шпионским устройством" предмет, который видит и слышит то же, что и его владелец.

    MaaKut, 12 Октября 2021

    Комментарии (12)
  11. C++ / Говнокод #27561

    +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
    QSqlQuery& SQLConnect::get()
    {
        if ( makeConnection() ) {
            query = QSqlQuery(mDb);
            return query;
        }
        QSqlQuery empty;
        return empty;
    }
    
    bool SQLConnect::makeConnection()
    {
       mDb = SQLConnectPool::Instance().get();
       return true;
    }

    Раньше компилилось и не замечал, а тут на новом компиляторе начал кидать ошибки и решил посмотреть, что же там напроектировали

    avk17, 14 Августа 2021

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