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

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ. 
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!
    
    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Дорогой участник! Не спеши покидать страницу. Я прошу тебя помочь:
    не поленись, пройдись по всем постам, и поставь каждому участнику по минусу;
    минусуя других участников ты воспитываешь в себе чувство меры и помогаешь обществу снижать ЧСВ.
    Заранее спасибо, друг мой. Ты будешь вознагражден за это деяние!


    Тот, кто покинул страницу, но не выполнил моей просьбы, умрет через 9 дней.

    Stertor, 11 Июля 2013

    Комментарии (0)
  3. Си / Говнокод #13358

    +131

    1. 1
    2. 2
    3. 3
    int rotate(int a, int k) {
        return (a << k) | (a >> (32-k));
    }

    Вращение на k бит влево.

    bormand, 10 Июля 2013

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ( !GrabData1.pGrabIm )
    {
        //Error
       return S_OK;
    }

    Дахусим

    slavap, 12 Июня 2013

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

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    foreach (var oi in order.Items)
                        {
                            if (oi.Offer.Name == "BRNCoreDigTrial" || oi.Offer.Name == "BRNCoreDig1Pay" || oi.Offer.Name == "BRNDigUpgrade5pay" || oi.Offer.Name == "BRNDigUpgrade1Pay"
                                || oi.Offer.Name == "BRN04StdDIG1Pay" || oi.Offer.Name == "BRN04StdDIG3Pay" || oi.Offer.Name == "BRNCoreDig1PayOld" || oi.Offer.Name == "BRNCoreDigTrialOld"
                                || oi.Offer.Name == "BRN04DlxDIG1Pay" || oi.Offer.Name == "BRN04DlxDIG3Pay" || oi.Offer.Name == "BRN04UltDIG1Pay" || oi.Offer.Name == "BRN04UltDIG3Pay")
                            {
                                isDigital = true;
                                break;
                            }
                        }

    startrack, 10 Июня 2013

    Комментарии (3)
  6. C# / Говнокод #13063

    +131

    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
    static uint ipToUint(byte[] ipBytes)
            {
            var bConvert = new ByteConverter();
            uint ipUint = 0;
            int shift = 24; //TODO: указывает количество бит для смещения лево
                foreach (byte b in ipBytes)
                {
                    if (ipUint == 0)
                    {
                        ipUint = (uint)bConvert.ConvertTo(b, typeof(uint)) << shift;
                        shift -= 8;
                        continue;
                    }
                    if (shift >= 8)
                        ipUint += (uint)bConvert.ConvertTo(b, typeof(uint)) << shift;
                    else
                        ipUint += (uint)bConvert.ConvertTo(b, typeof(uint));
                        shift -= 8;
                }
            return ipUint;
            }

    Функция конвертирующая массив байтов полученный из IPAddress.Parse("...").GetAddressBytes() в целочисленное представление.

    neeedle, 29 Мая 2013

    Комментарии (70)
  7. Куча / Говнокод #12975

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    <li>1</li><!--
                    --><li>2</li><!--
                    --><li>3</li><!--
                    --><li>4</li>

    http://forum.htmlbook.ru/index.php?showtopic=20109

    dos_, 08 Мая 2013

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

    +131

    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
    class Date
        {
            private DateTime date;
            public Date(int day,int month,int year)
            {
                if(month > 0 && month < 13 && day > 0 && day <= DateTime.DaysInMonth(year,month)) // Это не надо, моё введение.
                    date = new DateTime(year,month,day);
                else Console.WriteLine("Неверная дата.");//
            }
            public Date()
            {
                date= new DateTime(2009,01,01);
            }
            public DateTime Yesterday()
            {
                return date.AddDays(-1);
            }
            public DateTime NextDay()
            {
                return date.AddDays(1);
            }
            public int Days()
            {
                return DateTime.DaysInMonth(date.Year,date.Month)-date.Day;
            }
            public DateTime GetDate
            {
                get
                {
                    return date;
                }
                set
                {
                    date = value;
                }
            }
            public bool IsLeapYear
            {
                get
                {
                    return DateTime.IsLeapYear(date.Year);
                }
            }
        }

    Пришлось сделать.

    dos_, 27 Апреля 2013

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

    +131

    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
    ////выполнение полного сброса, конфигурирования и проверки того что записано в регистрах
    ////0 - проверка неудачная
    ////1 - все нормально
    BYTE ADE7758::Full_Check(void)
    {
        OS_DI();
        
        if(Check())//проверка состояний регистров
            return 1;//все нормально
        else
        {
            
            Configure();
            OS_Delay(1);//ждем пока нестабильность пройдет
            if(Check())//проверка состояний регистров
                return 1;//все нормально
            else //после переконфигурации не все нормально - значит делаем ресет
            {
                OS_Delay(100);//ждем пока нестабильность пройдет
                Reset();	//полный сброс
                OS_Delay(10);//ждем еще чуть-чуть для завершения пересброса (на всякий случай)
                Configure();//переконфигурация
                //OS_Delay(500);//ждем пока нестабильность пройдет		
                if(Check())//снова проверка состояний регистров
                    return 1;//после пересброса все нормально
                else
                {
                    OS_Delay(500);//ждем пока нестабильность пройдет
                    Reset();	//полный сброс
                    Configure();//переконфигурация
                    OS_Delay(500);//ждем пока нестабильность пройдет
                    if(Check())//снова проверка состояний регистров
                    {
                        return 1;//после пересброса все нормально
                    }
                    else
                    {
                        return 0;//все проверки неудачные - выход с ошибкой
                    }
                }
            }
        }	
    }

    "Нельзя доверять никому. Совсем никому. Даже самому себе."
    Разумеется это вызывается в прерывании 200 раз в секунду.
    1 тик OS_Delay() = 10мс.
    Разрешение прерываний после сделает "дядя Вася".
    Зато знаем классы и умеем их писать.

    apparato, 18 Апреля 2013

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

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public class UserData : EventArgs {
          public int UserCod { get; set; }
          public string Name { get; set; }
    
          public UserData(DataRow dataRow)
          {
             UserCod = (int)(decimal)dataRow["user_cod"];
             Name = (string)dataRow["name"];
          }
    }

    Во время рефакторинга появилось сообщение от VS UserData нельзя привести к типу UserData...
    Заглянули в один из классов UserData...
    теперь понятно откуда запах)))

    dukhovnyi, 02 Марта 2013

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void *threadFunc(void *)
    {
    	// ...
    	pthread_exit( (void*)lTaskId );
    	return ( (void*)lTaskId );
    	// ...
    }

    позабавило.

    для непосвященных: return в функции потока аналогичен вызову pthread_exit().

    Dummy00001, 11 Февраля 2013

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