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

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

    +1

    1. 1
    2. 2
    3. 3
    // Всем привет. Я тоже принёс говнокода, но в необычном формате.
    // А именно, я написал мини-книгу "60 антипаттернов для С++ программиста".
    // https://pvs-studio.ru/ru/blog/posts/cpp/1053/

    Там вы найдёте и реальный C++ говнокод и просто вредные советы в духе "Пишите код так, как будто его будет читать председатель жюри IOCCC и он знает, где вы живёте (чтоб приехать и вручить вам приз)".

    Если сразу не понятно почему "совет" вреден, то там есть соответствующий разбор.

    Готов подискутировать про написанное. Ну и приглашаю накидывать в комментариях аналогичные советы.

    P.S. Предупреждаю: там много букв. Сразу запасайтесь кофе/энергетиком. Или попкорном :)

    Andrey_Karpov, 15 Июня 2023

    Комментарии (58)
  3. bash / Говнокод #28608

    −4

    1. 1
    2. 2
    Тред отсоса прыщеблядей
    (потёр nugop cpakep)

    OCETuHCKuu_nemyx, 19 Февраля 2023

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

    0

    1. 1
    2. 2
    3. 3
    var x1: number;
    x1 = value;
    (x1) = value;

    чем одна строка отличается от другой?

    ASD_77, 01 Января 2022

    Комментарии (58)
  5. C++ / Говнокод #27462

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #include <iostream>
    #include <map>
    
    int main()
    {
      std::string name;
      std::map<int, int> m = { {1, 1}, {2, 2} };
      m.erase(m.end());
      std::cout << "Kokoko " << m[1] << std::endl;
    }

    На моем проекте уходит в бесконечный цикл.

    YpaHeLI_, 08 Июня 2021

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

    −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
    https://www.npmjs.com/package/mkdirp
    https://www.npmjs.com/package/mkdirp2
    https://www.npmjs.com/package/mkdirp-classic
    https://www.npmjs.com/package/mkdirp-infer-owner
    https://www.npmjs.com/package/mkdirp-then
    https://www.npmjs.com/package/mkdirp-promise
    https://www.npmjs.com/package/mkdir-parents
    https://www.npmjs.com/package/mkdir-p
    https://www.npmjs.com/package/node-mkdir-p
    https://www.npmjs.com/package/mkdir-p-bluebird
    https://www.npmjs.com/package/mkdirt
    https://www.npmjs.com/package/mkdir-native

    Description:
    Linux command mkdir -p.

    Fike, 03 Ноября 2020

    Комментарии (58)
  7. C++ / Говнокод #26988

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class std::unordered_map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,
    enum REG,struct std::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,
    struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,
    class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,
    class std::allocator<char> > const ,enum REG> > > registers" 
    (?registers@@3V?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4REG@@U?$hash@V?$
    basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?
    $allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4
    REG@@@std@@@2@@std@@A) уже определен в decoder.obj	PVC-16	C:\Users\Люда\source\repos\PVC-16\PVC-16\interrupt.obj	1

    Похлопаем visual c++ за понятный лог.

    digitalEugene, 30 Сентября 2020

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Definition idx_compl_r {i : Fin.t N} (j : Fin.t i) : Fin.t N.
          remember (fin_to_nat i) as i'.
          assert (Hlt : i' < N).
          { rewrite Heqi'. eapply fin_to_nat_lt. }
          assert (Heq : i' + (N - i') = N) by lia.
          set (j' := Fin.L (N - i') j).
          rewrite Heq in j'.
          exact j'.
        Defined.

    Ещё один говношедевр. Как кастовать значения типа Fin.t (число в интервале от 1 до N) друг в друга. Разворачивается в 12000 строк кода. "Тому, кто это придумал, надо в голову гвоздь забить".

    CHayT, 27 Августа 2020

    Комментарии (58)
  9. Си / Говнокод #25929

    +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
    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
    // https://jaycarlson.net/2019/09/06/whats-up-with-these-3-cent-microcontrollers/
    // The C code I used for those original MCU tests looked something like this:
    
    volatile int16_t in[25];
    volatile int16_t out[25];
    const int16_t a0 = 16384;
    const int16_t a1 = -32768;
    const int16_t a2 = 16384;
    const int16_t b1 = -25576;
    const int16_t b2 = 10508;
    int16_t z1, z2;
    int16_t outTemp;
    int16_t inTemp;
    void main()
    {
      while(1) {
        _pa = 2;
        for(i=0;i<25;i++)
        {
          inTemp = in[i];
          outTemp = inTemp * a0 + z1;
          z1 = inTemp * a1 + z2 - b1 * outTemp;
          z2 = inTemp * a2 - b2 * outTemp;
          out[i] = outTemp;
        }
        _pa = 0;
      }
    }
    
    // The Padauk code looks like this:
    
    WORD in[11];
    WORD out[11];
    WORD z1, z2;
    WORD pOut, pIn; // these are pointers, but aren't typed as such
    int i;
    void  FPPA0 (void)
    {
      .ADJUST_IC  SYSCLK=IHRC/2    //  SYSCLK=IHRC/2
      PAC.6 = 1; // make PA6 an output
      while(1) {
        PA.6 = 1;
        pOut = out;
        pIn = in;
        i = 0;
        do {
          *pOut = (*pIn << 14) + z1;
          z1 = -(*pIn << 15) + z2
            + (*pOut << 14)
            + (*pOut << 13)
            + (*pOut << 9)
            + (*pOut << 8)
            + (*pOut << 7)
            + (*pOut << 6)
            + (*pOut << 5)
            + (*pOut << 3);
          z2 = (*pIn << 14)
            - (*pOut << 13)
            - (*pOut << 11)
            - (*pOut << 8)
            - (*pOut << 3)
            - (*pOut << 2);
          i++;
          pOut++;
          pIn++;
        } while(i < 11);
        PA.6 = 0;
      }
    }

    > As for the filter function itself, you’ll see that all the multiplies have been replaced with shift-adds. The Padauk part does not recognize the * operator for multiplication; trying to use it to multiply two variables together results in a syntax error. No, I’m not joking.

    j123123, 11 Октября 2019

    Комментарии (58)
  10. PHP / Говнокод #25673

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if($_GET['page']==''){include($_SERVER['DOCUMENT_ROOT'].'/page/catalog.php');}
    if($_GET['page']=='product'){include($_SERVER['DOCUMENT_ROOT'].'/page/product.php');}
    if($_GET['page']=='category'){include($_SERVER['DOCUMENT_ROOT'].'/page/category.php');}
    if($_GET['page']=='subcatalog'){include($_SERVER['DOCUMENT_ROOT'].'/page/category.php');}
    if($_GET['page']=='subcategory'){include($_SERVER['DOCUMENT_ROOT'].'/page/subcategory.php');}
    if($_GET['page']=='dressing'){include($_SERVER['DOCUMENT_ROOT'].'/page/dressing.php');}
    if($_GET['page']=='consultant'){include($_SERVER['DOCUMENT_ROOT'].'/page/consultant.php');}
    if($_GET['page']=='stock'){include($_SERVER['DOCUMENT_ROOT'].'/page/stock.php');}
    if($_GET['page']=='hit'){include($_SERVER['DOCUMENT_ROOT'].'/page/hit.php');}

    2019 год. Проект был написан год назад чуваками из провинции. Зато на фронтенде Angular.

    EmGovno, 13 Июня 2019

    Комментарии (58)
  11. Pascal / Говнокод #25335

    −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
    Program Aliski; 
    uses Graphabc; 
    begin 
    SetWindowWidth(800); 
    SetWindowHeight(600); 
    SetPenWidth(3); 
    SetFontSize(18); 
    SetFontColor(clGreen); 
    rectangle(85,80,500,140); 
    TextOut(100,100,'Алексей у тебя реально 10см?'); 
    Circle(350,500, 40); 
    Circle(430,500, 40); 
    FloodFill(350,500,clSkyBlue); 
    FloodFill(430,500,clPurple); 
    Line(350,460,350,250); 
    Line(430,460,430,250); 
    Line(340,250,440,250); 
    Line(390,220,390,200); 
    Arc(390,250,50,0,180); 
    end.

    Ученик решил поприкалываться над товарищем на уроке

    vodandr, 28 Января 2019

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