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

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
        return JSON.parse(this.responseText)
    } catch (e) {
        throw e
    }

    паттерн "поддержка исключений" - если исключение всплывает - нужно его подтолкнуть, чтобы не потонуло х)

    nin-jin, 05 Марта 2011

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

    +167

    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
    switch (ch) {
                case 't':
                    next('t');
                    next('r');
                    next('u');
                    next('e');
                    return true;
                case 'f':
                    next('f');
                    next('a');
                    next('l');
                    next('s');
                    next('e');
                    return false;
                case 'n':
                    next('n');
                    next('u');
                    next('l');
                    next('l');
                    return null;
                }
                error("Unexpected '" + ch + "'");
            },

    https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js

    nin-jin, 05 Марта 2011

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #define v putchar
    #define print(x) main(){v(4+v(v(52)-4));return 0;} /*
    #>++++++4[>++++++<-]>++++.----.++++.**/
    print(202*2);exit();
    #define/*>.@*/exit()

    Для кого-то покажется бояном, но меня улыбнуло. Явно искусственный код взятый со stackoverflow.com

    xaionaro, 01 Марта 2011

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

    +106

    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
    public static bool KeyToString(Keys key, bool shitKeyPressed,
                                                                        out char character)
            {
                bool result = false;
                character = ' ';
                CharPair charPair;
    
                if ((Keys.A <= key && key <= Keys.Z) || key == Keys.Space)
                {
                    // Use as is if it is A~Z, or Space key.
                    character = (shitKeyPressed) ? (char)key : Char.ToLower((char)key);
                    result = true;
                }
                else if (keyMap.TryGetValue(key, out charPair))
                {
                    // Otherwise, convert by key map.
                    if (!shitKeyPressed)
                    {
                        character = charPair.NormalChar;
                        result = true;
                    }
                    else if (charPair.ShiftChar.HasValue)
                    {
                        character = charPair.ShiftChar.Value;
                        result = true;
                    }
                }
    
                return result;
            }

    Разбираю код, скачанный с майкросовтовского App Hub. В коде и комментариях полно маленьких грамматический ошибок, но это...
    Код выложен на полном серьёзе и качается тут http://create.msdn.com/en-US/education/catalog/utility/performance_utility

    P.S. для тупых спойлер: вместо shift написано shit.

    Skelet0n, 23 Февраля 2011

    Комментарии (21)
  6. PHP / Говнокод #5789

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    function assign($params)
    {              
            return $params[0];
    }

    Функция с одной коммерческой cms. Можно же обойтись и без функции. Да и желательно сделать проверку на существование переменной.

    codosub, 23 Февраля 2011

    Комментарии (21)
  7. Си / Говнокод #5721

    +141

    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
    #define N2(n)   #n"0",#n"1",#n"2",#n"3",#n"4",#n"5",#n"6",#n"7",#n"8",#n"9"
    #define N30(n)  #n N2(),#n N2(1),#n N2(2),#n N2(3),#n N2(4),#n N2(5),#n N2(6),#n N2(7),#n N2(8),#n N2(9)
    #define N3(n,k) #n#k"0",#n#k"1",#n#k"2",#n#k"3",#n#k"4",#n#k"5",#n#k"6",#n#k"7",#n#k"8",#n#k"9"
    #define N4(k)   N3(k,0),N3(k,1),N3(k,2),N3(k,3),N3(k,4),N3(k,5),N3(k,6),N3(k,7),N3(k,8),N3(k,9)
    #define N5      N30(),N4(1),N4(2),N4(3),N4(4),N4(5),N4(6),N4(7),N4(8),N4(9)
    
    const char s[][4]={N5};
    const int s_size = sizeof(s)/sizeof(s[0]);
    void print_number(int n) {
        if (n<s_size) {
            printf("!%s\n",s[n]);
        }
        else {
            printf("?%d\n",n);
        }
    }

    Отсылка к #3376 http://govnokod.ru/3376
    Вопрос к общественности: что бОльший говнокод, >100 строк строковых констант или 5-строчный пассаж на макросах?

    xredor, 19 Февраля 2011

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

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    string callPage = CallPage;
    if (callPage != "Checkout.aspx")
    {
          callPage = "Checkout.aspx";
    }
    ServerTransfer(callPage + "?makerefresh=true", Server, Request);

    Найди лишнее

    uaavg, 15 Февраля 2011

    Комментарии (21)
  9. Pascal / Говнокод #5657

    +101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    type Table = record
       f1, f2, f3, f4, f5: integer;
    end;
    
    procedure Sort(a: array of Table; L, R: integer; Shift: integer);
    begin
    // что-то там...
    // сравнение элементов:
       if pinteger(size_t(@a[i])+Shift)^ < pinteger(size_t(@a[j])+Shift)^
    end;

    Использование: Sort(a, 0, Length(a) - 1, size_t(@a[0].f4) - size_t(@a[0]))
    сортировка по полю f4.

    chaoswithin, 13 Февраля 2011

    Комментарии (21)
  10. C++ / Говнокод #5625

    +147

    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
    #include <stdio.h>
    int main(int t,int _,char*a)
    {return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
    main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
    )&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
    t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
    ,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
    +k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
    l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
    n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
    ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
    #'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
    :t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
    +1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
    i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}

    Консольный вывод этой программы:
    On the first day of Christmas my true love gave to me
    a partridge in a pear tree.

    On the second day of Christmas my true love gave to me
    two turtle doves
    and a partridge in a pear tree.

    ...
    [Все не вместилось]
    ...

    On the tenth day of Christmas my true love gave to me
    ten lords a-leaping,
    nine ladies dancing, eight maids a-milking, seven swans a-swimming,
    six geese a-laying, five gold rings;
    four calling birds, three french hens, two turtle doves
    and a partridge in a pear tree.

    On the eleventh day of Christmas my true love gave to me
    eleven pipers piping, ten lords a-leaping,
    nine ladies dancing, eight maids a-milking, seven swans a-swimming,
    six geese a-laying, five gold rings;
    four calling birds, three french hens, two turtle doves
    and a partridge in a pear tree.

    On the twelfth day of Christmas my true love gave to me
    twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
    nine ladies dancing, eight maids a-milking, seven swans a-swimming,
    six geese a-laying, five gold rings;
    four calling birds, three french hens, two turtle doves
    and a partridge in a pear tree.

    Говногость, 10 Февраля 2011

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

    +101

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ....
    for i:=1 to 4 do for j:=1 to 4 do begin a[i,j]:=b; b:=b-1; end;
    for i:=1 to 4 do for j:=1 to 4 do if a[i,j]=16 then begin k:=i;l:=j; end;
    for i:=1 to 4 do
    for j:=1 to 4 do
    begin
    gotoxy(5+3*i,5+2*j);
    write(a[i,j]);
    end; 
    ....

    http://otvet.mail.ru/question/52501602/

    1_and_0, 02 Февраля 2011

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