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

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

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private List<string> _items
    
    ...				
    
    if (_items.Count <= 0)
        return;

    Alx, 23 Января 2012

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $('p.li').click(function(){
    var li = $(this).attr("id");
    switch (li) {
    case 'a': ($('div.win').load('a.html')); break
    case 'b': ($('div.win').load('b.html')); break
    case 'c': ($('div.win').load('c.html')); break
    case 'd': ($('div.win').load('d.html')); break
    case 'e': ($('div.win').load('e.html')); break
    case 'f': ($('div.win').load('f.html')); break
    default: ($('div.win').load('Error.html'));
    }

    UnderShot, 01 Января 2011

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

    +145

    1. 1
    2. 2
    3. 3
    //вместо эпиграфа:
    обезьяна и очки - это полбеды.
    обезьяна с гранатой - это хуже

    Обращаюсь к дорогому тов. Страйко,

    с вопросом, почему же на говнокоде нет никакой элементарной защиты от дураков?
    хрен с ним с флеймом, переживем
    а тот же флуд - это ж можно напилить, шобы от одного хрена не больше комментария в 3 минуты, причем похожий комментарий считается тем же и не проходит (саундекс или левенштейн)

    Lure Of Chaos, 25 Декабря 2010

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

    +157

    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
    //sort rr
        unsigned int i = 0;
        unsigned int random = time(NULL);
        unsigned int nummx = rr->size();
        while (nummx > 0){
            unsigned long numsame=1;
            i = 0;
            for (unsigned int j = 1;j < nummx;++j)
                if ((*rr)[j].m_pref > (*rr)[i].m_pref){
                    i = j;
                    numsame = 1;
                }else if ((*rr)[j].m_pref == (*rr)[i].m_pref){
                    ++numsame;
                    random = random * 69069 + 1;
                    if ((random / 2) < (2147483647 / numsame))
                        i = j;
                }
            swap((*rr)[i],(*rr)[--nummx]);
        }

    Что делает код - достоверно неизвестно. Скорее всего, что-то сортирует и одновременно перемешивает.

    gpr, 05 Июня 2010

    Комментарии (94)
  6. Go / Говнокод #28193

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    package main
     
    func main() {
        var str = "Hello World"
        var length = len([]rune(str))
        println("Length of the string is :", length)
    }

    String Length in Golang

    To get the length of a String in Go programming, convert the string to array of runes, and pass this array to len() function.

    3_dar, 26 Мая 2022

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

    −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
    function* foo2() {
    	yield 2;
    	yield 3;
    }
    
    function* foo() {
       yield 1;
    
       yield* foo2();
    	
       yield 4;
    }
    
    function main() {
        for (const o of foo()) {
            print(o);
        }
    
        print("done.");
    }

    продолжаем "наговнокодить". Добавил "елдак" со "звездой". Где тут наши препроцессорописатели.. дайте аналог на C/C++.

    ASD_77, 31 Августа 2021

    Комментарии (93)
  8. C++ / Говнокод #26728

    +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
    #include <iostream>
    #include <string>
    #include <cmath>
    using namespace std;
    int perevod(char a)
    {
      switch (a)
      {
        case 'A': {return 1; break;}
        case 'B': {return 2; break;}
        case 'C': {return 3; break;}
        case 'D': {return 4; break;}
        case 'E': {return 5; break;}
        case 'F': {return 6; break;}
        case 'G': {return 7; break;}
        case 'H': {return 8; break;}
      }
        return 0;
    }
    int proverka(char a)
    {
      switch (a)
      {
        case '1': {return 1; break;}
        case '2': {return 2; break;}
        case '3': {return 3; break;}
        case '4': {return 4; break;}
        case '5': {return 5; break;}
        case '6': {return 6; break;}
        case '7': {return 7; break;}
        case '8': {return 8; break;}
      }
        return 0;
    }
    int main()
    {
        string s;
        cin >> s;
        int x1, x2, y1, y2;
        x1=perevod(s[0]);
        x2=perevod(s[3]);
        y1=proverka(s[1]);
        y2=proverka(s[4]);
        if(s.length() != 5 || x1 == 0 || x2 == 0 || y1 == 0 || y2 == 0||s[2]!='-')
        {
            cout << "ERROR";
        }
        else{
        if(abs(x2 - x1) == 1 && abs(y2 - y1) == 2 || abs(x2 - x1) == 2 && abs(y2 - y1) == 1)
        {
            cout << "YES";
        }
        else
        {
            cout << "NO";
        }
        }
        return 0;
    }

    Простенькая проверка на возможность хода конем.

    Verenick, 02 Июня 2020

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

    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
    #include "pch.h"
    #include <iostream>
    
    using namespace std;
    
    struct _Point {
    	double x, y, z;
    };
    
    void setPoint(_Point &, double = 0, double = 0, double = 0);
    
    void outPoint(const _Point &, char);
    
    int main()
    {
    	_Point A, B, C, D;
    	setPoint(A, 1, 5, 6.78);
    	setPoint(B);
    	setPoint(C, 8);
    	setPoint(D, 3, 4);
    
    	outPoint(A,'a');
    	outPoint(B,'b');
    	outPoint(C,'c');
    	outPoint(D,'d');
    }
    
    void setPoint(_Point &name, double a, double b, double c) {
    	name.x = a;
    	name.y = b;
    	name.z = c;
    }
    
    void outPoint(const _Point &name,char ch) {
    	
    	cout <<ch<< "(" << name.x << ", " << name.y << ", " << name.z << ")\n";
    }

    maxrbs, 07 Ноября 2019

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

    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
    [code]
      ____ _____ _____ ____ _____ ___  ____    _   _ _____
     / ___|_   _| ____|  _ \_   _/ _ \|  _ \  | | | | ____|
    | |     | | |  _| | |_) || || | | | |_) | | |_| |  _|
    | |___  | | | |___|  __/ | || |_| |  __/  |  _  | |___
     \____| |_| |_____|_|    |_| \___/|_|     |_| |_|_____|
    
     _   _      __  _  _______ _   _
    | | | |_   _\ \| |/ / ____| | | |
    | |_| | | | |\ \ / /|  _| | |_| |
    |  _  | |_| |/ / \ \| |___|  _  |
    |_| |_|\__, /_/| |\_\_____|_| |_|
           |___/   |_|
    [/code]

    ru66oH4uk, 16 Сентября 2019

    Комментарии (93)
  11. Си / Говнокод #25602

    −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
    // вообще, есть одна говнистая особенность сишки:
    // нельзя вернуть из функции массив хуйпойми какой длины, выделив память чисто на стеке
    // Вот например:
    
    char *a_ret (size_t len)
    {
      char *ret = alloca(len);
      memset(ret, 'a', len);
      return ret; // так нельзя
    }
    
    // т.е. надо делать как-нибудь вот так
    char *a_ret (size_t len)
    {
      char *ret = malloc(len);
      if (ret == NULL)
      {
        exit(ENOMEM);
      }
      memset(ret, 'a', len);
      return ret;
    }

    Но это ж на самом-то деле говно какое-то. Дергать аллокаторы какие-то, ради каких-то мелких кусков байтиков.
    Почему не сделать хуйни, чтоб вызываемая функция как бы приосталавливалась и просила ту функцию, которая ее вызывает, чтоб она вот такой-то alloca() сделала нужного размера в своем стекфрейме, а потом туда вот та вызванная функция байтики уже вхерачивала? Ну т.е. можно сделать отдельный свой стек для локальных переменных тех функций, которые должны уметь такую хуйню делать (т.е. просить вызвавшую их функцию "а сделай ка там себе alloca(123) и дай мне указатель, а я в него насру")
    Вообще хуйня какая-то, сишка слишком сильно сковывает всякой своей хуйней, соглашениями вызовов, всякими ABI там. То ли дело ассемблер!

    j123123, 15 Мая 2019

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