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

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

    +107.5

    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
    /// <summary>
            /// Check if this char is digit
            /// </summary>
            /// <param name="symbol">Some char</param>
            /// <returns>True if is digit</returns>
            private static bool IsDigit(char symbol)
            {
                List<char> digits = new List<char>();
                digits.Add('0');
                digits.Add('1');
                digits.Add('2');
                digits.Add('3');
                digits.Add('4');
                digits.Add('5');
                digits.Add('6');
                digits.Add('7');
                digits.Add('8');
                digits.Add('9');
                return digits.Contains(symbol);
            }

    так сказать код от велосипедиста, сделал свой IsDigit() хотя уже есть char.IsDigit()

    sv219, 13 Августа 2009

    Комментарии (259)
  3. Си / Говнокод #17904

    +139

    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
    ...
    // GRAY SCALE:
    
    #define ER_COLOR_BLACK_DEEP3        ccc3(0, 0, 0)
    #define ER_COLOR_BLACK_DEEP4        ccc4(0, 0, 0, 255)
    
    #define ER_COLOR_BLACK3             ccc3(38, 38, 38)
    #define ER_COLOR_BLACK4             ccc4(38, 38, 38, 255)
    
    #define ER_COLOR_SIDEMENU_SELECTED3 ccc3(47, 47, 47)
    
    #define ER_COLOR_LETTER_VIEW3       ccc3(51, 51, 51)
    
    #define ER_COLOR_SIDEBAR_BG3        ccc3(58, 58, 58)
    #define ER_COLOR_SIDEBAR_BG4        ccc4(58, 58, 58, 255)
    
    #define ER_COLOR_BAR_BG_GRAY3       ccc3(82, 82, 82)
    
    #define ER_COLOR_AUTHOR_NAME3       ccc3(103, 103, 103)
    
    #define ER_COLOR_SIDE_WIDGET3       ccc3(255, 255, 255)
    #define ER_COLOR_SIDE_WIDGET4       ccc4(255, 255, 255, 255)
    
    #define ER_COLOR_GRAY_TUT3          ccc3(115, 115, 115)
    
    #define ER_COLOR_GRAY3              ccc3(130, 130, 130)
    
    #define ER_COLOR_PULL_LABEL3        ccc3(142, 142, 142)
    
    #define ER_COLOR_SEND_BG4           ccc4(158, 158, 158, 255)
    #define ER_COLOR_SEND_BG3           ccc3(158, 158, 158)
    
    #define ER_COLOR_BADGE_GRAY3        ccc3(149, 149, 149)
    #define ER_COLOR_BADGE_GRAY4        ccc4(149, 149, 149, 255)
    
    #define ER_COLOR_SEPARATOR3         ccc3(195, 195, 195)
    
    #define ER_COLOR_LABELS_GRAY3       ccc3(170, 170, 170)
    
    #define ER_COLOR_AUTHOR_CAPTION3    ccc3(173, 173, 173)
    
    #define ER_COLOR_SAFE_EXIT_BG4      ccc4(189, 189, 189, 255)
    #define ER_COLOR_SAFE_EXIT_BG3      ccc3(189, 189, 189)
    
    #define ER_COLOR_MENU_GRAY_ONE3     ccc3(204, 204, 204)
    
    #define ER_COLOR_PUSHED_ELEMENT3    ccc3(205, 205, 205)
    
    #define ER_COLOR_GRAY_208_3         ccc3(208, 208, 208)
    #define ER_COLOR_GRAY_208_4         ccc4(208, 208, 208, 255)
    
    #define ER_COLOR_MENU_GRAY_TWO3     ccc3(216, 216, 216)
    
    #define ER_COLOR_NEW_GAME_BACK3     ccc3(216, 216, 216)
    #define ER_COLOR_NEW_GAME_BACK4     ccc4(216, 216, 216, 255)
    
    #define ER_COLOR_WHITE_222_3        ccc3(222, 222, 222)
    
    #define ER_COLOR_WHITE_232_3        ccc3(232, 232, 232)
    
    #define ER_COLOR_WHITE_MY_PLATE3        ccc3(243, 243, 243)
    
    #define ER_COLOR_WHITE_INTRO4       ccc4(232, 232, 232, 255)
    
    #define ER_COLOR_WHITE3             ccc3(255, 255, 255)
    #define ER_COLOR_WHITE4             ccc4(255, 255, 255, 255)

    50 оттенков серого в нашем приложении.

    tirinox, 01 Апреля 2015

    Комментарии (256)
  4. Куча / Говнокод #26850

    0

    1. 1
    Тестовый тред, можно игнорить

    Desktop, 07 Августа 2020

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

    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
    Бесконечный оффтоп имени kcalbа #2
    K C A L B K C A L B
    C C               C C
    A   +             A   +
    L     +           L     +
    B       K C A L B K C A L B
    K       C         K       C
    C       A         C       A
    A       L         A       L
    L       B         L       B
    K C A L K K C A L B       K
      C     C           C     C
        +   A             +   A
          + L               + L
            K C A L B K C A L B

    Бесконечный оффтоп имени kcalba #1 https://govnokod.ru/28122 https://govnokod.xyz/_28122/

    kcalbCube, 05 Мая 2022

    Комментарии (254)
  6. Куча / Говнокод #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)
  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

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

    +78

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

    zazazazazaza, 07 Июня 2015

    Комментарии (250)
  11. 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)