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

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

    +140

    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
    protected override void HandleImpl( DeleteTrashModel model )
    {
    	switch( model.TableName )
    	{
    		case DeleteTrashTablesEnum.AuthenticationTicket:
    			this.DeleteTrash( DeleteTrashTablesEnum.AuthenticationTicket, model.DaysCount );
    			break;
    		case DeleteTrashTablesEnum.ResetPasswordTicket:
    			this.DeleteTrash( DeleteTrashTablesEnum.ResetPasswordTicket, model.DaysCount );
    			break;
    		case DeleteTrashTablesEnum.Notification:
    			this.DeleteTrash( DeleteTrashTablesEnum.Notification, model.DaysCount );
    			break;
    		case DeleteTrashTablesEnum.Event:
    			this.DeleteTrash( DeleteTrashTablesEnum.Event, model.DaysCount );
    			break;
    	}
    }

    Если есть Enum - нужен switch!

    sickphilosopher, 25 Июня 2014

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $uid = cod($logininfo['id']);
    $adres = decod($adr['p1']).":".decod($adr['p2']);
    
    function cod($cod3){
    
        return $cod3;
    }
    function decod($cod3){
    
        return $cod3;
    }

    Панель управления игровыми серверами GamePL. Взялся на свою голову написать дополнений =)

    Onotole, 24 Июня 2014

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

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Начните зарабатывать деньги с Bitcoin прямо сейчас!
    
    Как заработать на биткойнах? Очень просто!
    
    1. Зарегистрируйте кошелёк Bitcoin: https://blockchain.info/ru/wallet
    2. После регистрации введите свой Bitcoin-адрес здесь: http://eb.by/freebitcoins
    3. Нажмите кнопку «ROLL!», чтобы получить бесплатные биткойны
    4. Спустя час вы можете получить ещё, поэтому рекомендую периодически возвращаться на этот сайт.
    5. Как только вы наберёте такую сумму, которую вы хотели бы вывести, зарегистрируйтесь на бирже btc-e.com, и получите рубли, доллары или евро.
    
    Или оставьте деньги в биткойнах, и наблюдайте, как вы становитесь всё богаче за счёт роста стоимости Bitcoin!

    ifkelvofep34lf, 29 Мая 2014

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

    +126

    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
    // sometimes I believe compiler ignores all my comments
    
    // Class used to work around Richard being a fucking idiot
    
    // somedev1 -  6/7/02 Adding temporary tracking of Login screen
    // somedev2 -  5/22/07 Temporary my ass
    
    // Magic. Do not touch.
    
    // Я посвящаю весь этот код, все мою работу, моей жене Дарлин, которая будет поддерживать меня и наших троих детей и собаку, когда выйдет в релиз
    
    return 1; # returns 1
    
    // I am not sure if we need this, but too scared to delete. 
    
    // I am not responsible of this code.
    // They made me write it, against my will.
    
    /* Please work */
    
    options.BatchSize = 300; //Madness? THIS IS SPARTA!
    
    // I have to find a better job
    
    // hack for ie browser (assuming that ie is a browser)
    
    } catch (PartInitException pie) {
        // Mmm... pie
    	
    /*
    after hours of consulting the tome of google
    i have discovered that by the will of unknown forces
    without the below line, IE7 believes that 6px = 12px
    */
    font-size: 0px;

    Самые смешные коментарии в коде собрали на stackoverflow
    Я пролистал первые три страницы, и выписал несколько, которые мне понравились

    http://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered

    Smekalisty, 29 Мая 2014

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