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

    В номинации:
    За время:
  2. Куча / Говнокод #17805

    +131

    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
    Я даже не могу сказать, что не так с "PHP", потому что… Окей. Представьте себе, эмм, коробку с инструментами.
    Набор инструментов. Выглядит нормально, инструменты как инструменты.
    
    Вы берёте отвёртку и видите крестовину с тремя лепестками.
    Окей, не очень полезно для вас, но может когда-нибудь понадобиться.
    
    Берёте молоток и ужасаетесь тому, что он раздвоен с двух сторон.
    Он, конечно, всё ещё пригоден, я имею ввиду, что вы можете забивать гвозди серединой бойка, держась за ручку наоборот.
    
    Берёте плоскогубцы, у которых нет зазубрин; они плоские и гладкие.
    Не так полезно, как могло бы быть, но ими всё ещё можно выкручивать болты.
    
    И так далее. Все инструменты чем-то странные и вывернутые, но не настолько, чтобы
    быть совсем бесполезными. И во всём наборе нет конкретной проблемы; в нём есть все инструменты.
    
    Теперь представьте себе миллионы плотников, использующих такой вот набор
    инструментов и говорящих вам: «А что не так с этими инструментами? Я никогда не использовал ничего другого и они отлично работают!».
    И плотники показывают вам, построенные ими дома с пятиугольными комнатами и крышей кверху ногами.
    Вы стучитесь в дверь, она просто падает внутрь и они орут на вас за то, что вы сломали их дверь.
    
    Вот что не так с "PHP".

    Время баянчиков.

    gost, 17 Марта 2015

    Комментарии (252)
  3. JavaScript / Говнокод #16537

    +159

    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
    недавно на хабре была статья "Платформер на Three.js"
    
    так вот автор уверяет, что
    "Читателям с нешкольным образованием или ветеранам игростроя этот псевдокод известен под названием «метод Эйлера», а также известно что этот метод — просто отстой."
    и приводит картинки из википедии, где им решают достаточно сложный дифур
    а вот свой "школьный" дифур он решил вот так
    
    if( в воздухе ) playerVelocity.y -= gravity * time;
    playerPosition += playerVelocity * time;
    
    "Как видим, запустив игру в firefox, мы получим одну динамику, а запустив её в chrome — совершенно иную. Поведение персонажа будет «плавать» в зависимости от интенсивности фоновых задач и расположения звёзд. Что же делать?"
    ответ-учиться программировать
    
    void update(float dt) {
    	pos += (velocity + force * dt * 0.5f) * dt;
    	velocity += force * dt;
    }
    
    оп-ля! все встало на свои места. теперь эйлер с  не фиксированным шагом НЕ ПЛАВАЕТ!

    FadeToBlack, 15 Августа 2014

    Комментарии (251)
  4. Си / Говнокод #14528

    +139

    1. 1
    2. 2
    #define BPP_AES_SHIFT_ROWS_II(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) \
        (a)(f)(k)(p)(e)(j)(o)(d)(i)(n)(c)(h)(m)(b)(g)(l)

    Навеяно http://govnokod.ru/14511

    Welcome to the macro hell: https://github.com/bormand/pp_aes

    bormand, 08 Февраля 2014

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

    +78

    1. 1
    2. 2
    if (optional != null && optional.isPresent()) {
        ...

    zazazazazaza, 07 Июня 2015

    Комментарии (250)
  6. Java / Говнокод #14399

    +71

    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
    private byte[] readBytes(InputStream pInputStream, int pLength, int pRetryCounter) throws IOException, WhateverException
    {
        byte[] bytes = new byte[pLength];
        int bytesRead= pInputStream.read(bytes, 0,pLength);
    
        if (bytesRead == -1)
        {
            throw new WhateverException("End of InputStream has been reached");
        }
    
        if (pLength != bytesRead)
        {
            byte[] bytesReadNextAttempt = readBytes(pInputStream, pLength-bytesRead, pRetryCounter + 1);
            if (pLength != bytesRead + bytesReadNextAttempt.length)
            {
                // less bytes available; connection was closed
                throw new WhateverException( ... );
            }
            System.arraycopy(bytesReadNextAttempt, 0, bytes, bytesRead, bytesReadNextAttempt.length);
        }
        return bytes;
    }

    поддержка паршиал ресив. такого "метода" я еще не видел.

    ЗЫ а че в жабе нету никакого MSG_WAITALL?

    Dummy00001, 22 Января 2014

    Комментарии (250)
  7. Pascal / Говнокод #14168

    +76

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    SetCurrentDir(ExtractFileDir(Application.ExeName)); 
    try
    ADOConnection1.Connected:=true;
    if ADOConnection1.Connected=true then
    begin
      ADOTable1.Active:=True;
    end;
    except
      MessageDLG('Îøèáêà ïîäêëþ÷åíèÿ ÁÄ',mtError,[mbOk],0);
    end;

    SetCurrentDir(ExtractFileDir(Application .ExeName));
    Не знаю, откуда ты, но знаю, куда тебе дальше.

    Stertor, 03 Декабря 2013

    Комментарии (250)
  8. JavaScript / Говнокод #26472

    +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
    var buf = Buffer.allocUnsafe(kexInitSize);
        var p = 17;
    
        buf[0] = MESSAGE.KEXINIT;
    
        if (myCookie !== false)
          myCookie.copy(buf, 1);
    
        writeUInt32BE(buf, kexBuf.length, p);
        p += 4;
        kexBuf.copy(buf, p);
        p += kexBuf.length;
    
        writeUInt32BE(buf, hostKeyBuf.length, p);
        p += 4;
        hostKeyBuf.copy(buf, p);
        p += hostKeyBuf.length;
    
        writeUInt32BE(buf, algos.cipherBuf.length, p);
        p += 4;
        algos.cipherBuf.copy(buf, p);
        p += algos.cipherBuf.length;
    
        writeUInt32BE(buf, algos.cipherBuf.length, p);
        p += 4;
        algos.cipherBuf.copy(buf, p);
        p += algos.cipherBuf.length;
    
        writeUInt32BE(buf, algos.hmacBuf.length, p);
        p += 4;
        algos.hmacBuf.copy(buf, p);
        p += algos.hmacBuf.length;
    
        writeUInt32BE(buf, algos.hmacBuf.length, p);
        p += 4;
        algos.hmacBuf.copy(buf, p);
        p += algos.hmacBuf.length;
    
        writeUInt32BE(buf, algos.compressBuf.length, p);
        p += 4;
        algos.compressBuf.copy(buf, p);
        p += algos.compressBuf.length;
    
        writeUInt32BE(buf, algos.compressBuf.length, p);
        p += 4;
        algos.compressBuf.copy(buf, p);
        p += algos.compressBuf.length;
    
        // Skip language lists, first_kex_packet_follows, and reserved bytes
        buf.fill(0, buf.length - 13);

    Мечтают ли скриптухи об Электросишке?

    https://github.com/mscdex/ssh2-streams/blob/master/lib/ssh.js

    3.14159265, 07 Марта 2020

    Комментарии (249)
  9. JavaScript / Говнокод #13865

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var n=7;
    
    if(3 in [1..n]) {
      // PROFIT!
    }

    Замечательный способ писать заведомо ложное условие :D

    Qwertiy, 27 Сентября 2013

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    http://rghost.ru/51035531
    Новый бот для минусования (запускать на виртуалке)
    
    Описание такое, чтобы отпугнуть хомячье.

    Новый бот для минусования.

    Stertor, 17 Декабря 2013

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

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // This is an example of an exported function.
    SCCONNECT_API int fnSCConnect(void)
    {
    	return 42;
    }

    Не говно, но не мог промолчать!
    Вот такой шаблон функции генерирует MSVC при создании DLL.

    MSVC даёт ответ на самый главный вопрос жизни, вселенной и всего такого!

    Little-Horny, 21 Октября 2013

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