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

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

    +135

    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
    // Hammer the CFG with large numbers of overlapping variable scopes, which
    // implicit destructors triggered at each edge.
    
    #define EXPAND_BASIC_STRUCT(i) struct X##i { X##i(int); ~X##i(); };
    #define EXPAND_NORET_STRUCT(i) struct X##i { X##i(int); ~X##i() __attribute__((noreturn)); };
    EXPAND_BASIC_STRUCT(0000); EXPAND_NORET_STRUCT(0001);
    EXPAND_BASIC_STRUCT(0010); EXPAND_BASIC_STRUCT(0011);
    EXPAND_BASIC_STRUCT(0100); EXPAND_NORET_STRUCT(0101);
    EXPAND_NORET_STRUCT(0110); EXPAND_BASIC_STRUCT(0111);
    EXPAND_BASIC_STRUCT(1000); EXPAND_NORET_STRUCT(1001);
    EXPAND_BASIC_STRUCT(1010); EXPAND_BASIC_STRUCT(1011);
    EXPAND_NORET_STRUCT(1100); EXPAND_NORET_STRUCT(1101);
    EXPAND_BASIC_STRUCT(1110); EXPAND_BASIC_STRUCT(1111);
    
    #define EXPAND_2_VARS(c, i, x)  const X##i var_##c##_##i##0(x), &var_##c##_##i##1 = X##i(x)
    #define EXPAND_4_VARS(c, i, x)  EXPAND_2_VARS(c, i##0, x);  EXPAND_2_VARS(c, i##1, x)
    #define EXPAND_8_VARS(c, i, x)  EXPAND_4_VARS(c, i##0, x);  EXPAND_4_VARS(c, i##1, x)
    #define EXPAND_16_VARS(c, i, x) EXPAND_8_VARS(c, i##0, x);  EXPAND_8_VARS(c, i##1, x)
    #define EXPAND_32_VARS(c, x)    EXPAND_16_VARS(c, 0, x);    EXPAND_16_VARS(c, 1, x)
    
    #define EXPAND_2_INNER_CASES(i, x, y)    INNER_CASE(i, x, y);             INNER_CASE(i + 1, x, y);
    #define EXPAND_4_INNER_CASES(i, x, y)    EXPAND_2_INNER_CASES(i, x, y)    EXPAND_2_INNER_CASES(i + 2, x, y)
    #define EXPAND_8_INNER_CASES(i, x, y)    EXPAND_4_INNER_CASES(i, x, y)    EXPAND_4_INNER_CASES(i + 4, x, y)
    #define EXPAND_16_INNER_CASES(i, x, y)   EXPAND_8_INNER_CASES(i, x, y)    EXPAND_8_INNER_CASES(i + 8, x, y)
    #define EXPAND_32_INNER_CASES(i, x, y)   EXPAND_16_INNER_CASES(i, x, y)   EXPAND_16_INNER_CASES(i + 16, x, y)
    
    #define EXPAND_2_OUTER_CASES(i, x, y)    OUTER_CASE(i, x, y);             OUTER_CASE(i + 1, x, y);
    #define EXPAND_4_OUTER_CASES(i, x, y)    EXPAND_2_OUTER_CASES(i, x, y)    EXPAND_2_OUTER_CASES(i + 2, x, y)
    #define EXPAND_8_OUTER_CASES(i, x, y)    EXPAND_4_OUTER_CASES(i, x, y)    EXPAND_4_OUTER_CASES(i + 4, x, y)
    #define EXPAND_16_OUTER_CASES(i, x, y)   EXPAND_8_OUTER_CASES(i, x, y)    EXPAND_8_OUTER_CASES(i + 8, x, y)
    #define EXPAND_32_OUTER_CASES(i, x, y)   EXPAND_16_OUTER_CASES(i, x, y)   EXPAND_16_OUTER_CASES(i + 16, x, y)

    Рекурсивное (EXPAND_... ) макроговно из clang и генератор (EXPAND_..._STRUCT) структур через какую-то непонятную жопу
    https://github.com/llvm-mirror/clang/blob/master/INPUTS/cfg-nested-var-scopes.cpp

    j123123, 21 Мая 2014

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if('false' == 'true') {
        var anm= '';
        anm = anm.split(",");
        var rd = jQuery(this).jqGrid('getRowData', id);
        if(rd) {
            for(var i=0; i<anm.length; i++) {
                if(rd[anm[i]]) {
                    data[anm[i]] = rd[anm[i]];
                }
            }
        }
    }

    Somnio, 14 Мая 2014

    Комментарии (8)
  4. Java / Говнокод #15977

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    @Test(timeout = 120000)
    public void testFlow() throws MuleException, InterruptedException {
    	MuleClient client = new MuleClient(muleContext);
    	MuleMessage message = client.send("vm://sfdc.process", new DefaultMuleMessage("abakadabra", muleContext));
    
    	Thread.sleep(30000);
    	Assert.assertNotNull(message);
    }

    Боремся с потусторонними силами с помощью священных sleep'ов.

    pingw33n, 13 Мая 2014

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

    +124

    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 int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
    {
    	int days = 0;
    	if (DateTime.Now.DayOfWeek > refreshDay)
    		days = refreshDay + 7 - DateTime.Now.DayOfWeek;
    	else if (DateTime.Now.DayOfWeek < refreshDay)
    		days = refreshDay - DateTime.Now.DayOfWeek;
    	else
    		days = 7;
    
    	int hours = 0;
    	if (DateTime.Now.Hour > refreshHour)
    	{
    		days--;
    		hours = (int)refreshHour + 24 - DateTime.Now.Hour;
    	}
    	else if (DateTime.Now.Hour < refreshHour)
    	{
    		hours = (int)refreshHour - DateTime.Now.Hour;
    	}
    	return days * 86400000 + hours * 3600000 - DateTime.Now.Minute * 60000 - DateTime.Now.Second * 1000 - DateTime.Now.Millisecond;
    }

    классический индусский код, вместо:

    private int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
    {
    var dtnow = DateTime.UtcNow;
    var nextRefreshDate =
    dtnow.Date.AddDays(dtnow.DayOfWeek >= refreshDay ? dtnow.DayOfWeek + 7 - refreshDay : refreshDay - dtnow.DayOfWeek).AddHours(refreshHour);
    return (nextRefreshDate - dtnow).Milliseconds;
    }

    valery_chistyakov, 07 Мая 2014

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    let inline id a = a 
    let inline const1 value _ = value
    let inline applyNTimes f n s =
        let fs = Seq.init n <| const1 f
        let fa = Seq.fold (>>) id fs
        fa s

    HaskellGovno, 04 Мая 2014

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

    +134

    1. 1
    2. 2
    3. 3
    while(SLOBirthsISEX->Strings[p].Length() < 1){
        SLOBirthsISEX->Strings[p] = " " + SLOBirthsISEX->Strings[p];
      }

    нет слов

    dm-ua, 30 Апреля 2014

    Комментарии (8)
  8. Си / Говнокод #15828

    +133

    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
    ...
    int
    (mblen)(const char *s, size_t n)
    {
    	if (s == (const char *)NULL) return 0;	/* no state dependent codings */
    	if (n <= 0) return 0;
    	return (*s != 0);
    }
    ...
     int
    mbtowc(wchar_t *pwc, register const char *s, size_t n)
    {
    	if (s == (const char *)NULL) return 0;
    	if (n <= 0) return 0;
    	if (pwc) *pwc = *s;
    	return (*s != 0);
    }
    ...
     int
    wctomb(char *s, wchar_t wchar)
    {
    	if (!s) return 0;		/* no state dependent codings */
    
    	*s = wchar;
    	return 1;
    }

    THE AMSTERDAM COMPILER KIT V6.0pre4
    ===================================

    © 1987-2005 Vrije Universiteit, Amsterdam
    2010-08-08

    ...

    SUPPORT
    =======

    Languages:

    ANSI C, Pascal, Modula 2. K&R is supported via the ANSI C compiler.



    А где здесь, собсно, ANSI C?

    Pythoner, 23 Апреля 2014

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

    +143

    1. 1
    +++++[>++>+++[>+++>+++<<-]>+<<<-]+++[>>>-.<[>>.>+<<+.<-]<.>>+.>>+[<.<-.<+>>>-]<<+<+<.<-]

    Brainfuck, задача - вывести
    1
    2-1
    1-2-3
    4-3-2-1
    1-2-3-4-5
    6-5-4-3-2-1

    Из этой ветки: http://habrahabr.ru/post/116842/#comment_3794462

    gost, 21 Апреля 2014

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

    −408

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    BOOL classDescendsFromClass(Class classA, Class classB)
    {
        while(classA)
        {
            if(classA == classB) return YES;
            classA = class_getSuperclass(classA);
        }
        
        return NO;
    }

    Why not just use isSubclassOfClass: ?

    ivandjeferov, 02 Апреля 2014

    Комментарии (8)
  11. PHP / Говнокод #15632

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ...
    $log = _POST['login'];
    $pass = _POST['password'];
    $sel = "SELECT * FROM `users` WHERE `login`=$log AND `password`=$pass";
    ...

    Шок! Найдены исходники движка Говнокода!
    Пожалуй, самый эпичный момент выложен тут.

    gost, 01 Апреля 2014

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