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

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

    +138

    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
    public bool ParsеOboznString(string obozn)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");  // Установка русской культуры
    
                try
                {
                    Regex reg = new Regex(@"(\D*)(\d*)([^\+]*)[\+]?(\d+[,]\d+)*");    // регулярное выражение
                    Match m = reg.Match(obozn);                                                            // разбор строки обозначения
                    ....
                    ....
                    ....
                }
                catch
                {
                    return false;
                }
    
                return true;
            }

    "культурный" код и "содержательные" комментарии

    diimdeep , 22 Апреля 2013

    Комментарии (10)
  3. Java / Говнокод #12929

    +72

    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
    Double extractShare(Product product, ShareExtractor extractor) {
            if (product != null) {
    
                Equity equity = product.getEquity();
    
                if (equity != null) {
                    Double shareMetric = extractor.extract(equity);
                    if (shareMetric != null) {
                        return shareMetric;
                    }
                }
            }
            return 0.0;
        }
    
        private interface ShareExtractor {
    
            ShareMetricExtractor PUBLIC_SHARE_OUTST_EXTRACTOR = new ShareExtractor() {
                @Override
                public Double extract(Equity equity) {
                    return equity.getPublicShareOutst();
                }
            };
    
            ShareMetricExtractor SHARE_OUTST_EXTRACTOR = new ShareExtractor() {
                @Override
                public Double extract(Equity equity) {
                    return equity.getShareOutst();
                }
            };
    
            Double extract(Equity equity);

    Архитектор головного мозга - это диагноз. Фанатзия нашего системного архитектора толи зашкалила, то ли дала сбой. Сей фердопердозный код был заменен следующим же коммитом, но свн помнит все! )

    jericho, 22 Апреля 2013

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

    +111

    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
    public static void kk(int KEY, int[] Q, ref int x)
            {
                if (KEY <= Q[4095]) // 0-4095
                {
                    if (KEY <= Q[2047]) // 0-2047
                    {
                        if (KEY <= Q[1023]) // 0-1023
                        {
                            if (KEY <= Q[511]) // 0-511
                            {
                                if (KEY <= Q[255]) // 0-255
                                {
                                    if (KEY <= Q[127]) // 0-127
                                    {
                                        if (KEY <= Q[63]) // 0-63
                                        {
                                            if (KEY <= Q[31]) // 0-31
                                            {
                                                if (KEY <= Q[15]) // 0-15
                                                {
                                                    if (KEY <= Q[7]) // 0-7
                                                    {
                                                        if (KEY <= Q[3]) // 0-3
                                                        {
                                                            if (KEY <= Q[1]) // 0-1
                                                            {
                                                                if (KEY <= Q[0]) x = 0;
                                                                else x = 1;
                                                            } // end 0-1
                                                            else  //2-3
                                                            {
                                                                if (KEY <= Q[2]) x = 2;
                                                                else x = 3;
                                                            } // end 2-3
                                                        } // end 0-3
    .................................................................

    С форума sql.ru: "......есть адский статический метод на 33.000 строк...."

    grobotron, 15 Апреля 2013

    Комментарии (10)
  5. SQL / Говнокод #12882

    −163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $query = $sql -> query("SELECT *, COUNT(`id`) as count FROM `d_download` WHERE `id` = '{$id}'", true);
    
    if($query['count'] == 1) {
     // code
    }

    Проверка, что значение найдено.

    neTpyceB, 11 Апреля 2013

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

    +11

    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
    void Bitmap::flipRB()
    {
    	int nBytes = w*h;
    	void *d = data;
    	__asm
    	{
    		mov edx, 0;
    pixloop:	mov eax, d;
    		mov eax, [eax];
    		mov ebx, edx;
    		shl ebx, 0x2;
    		add eax, ebx;
    		mov ebx, [eax];
    		
    		and ebx, 0xFFFFFF;
    		mov ecx, ebx;
    		shr ebx, 0x10;
    		shl ecx, 0x10;
    		or ebx, ecx;
    		shr ecx, 0x10;
    		and ecx, 0xFF00;
    		or ebx, ecx;
    		and ebx, 0xFFFFFF;
    		or ebx, 0xFF000000;
    		
    		mov [eax], ebx;
    		inc edx;
    		cmp edx, nBytes;
    		jne pixloop;
    	}
    }

    Откопал очередной свой велосипедный класс, в нем попался такой вот метод для конвертирования цветов ARGB в ABGR.

    just_nameless, 28 Марта 2013

    Комментарии (10)
  7. Java / Говнокод #12808

    +71

    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
    @XmlRootElement(name = "bar")
    public class Bar implements IBarObject{
    
        @XmlElement(name = "return")
        private SuperFoo barObj;
    
        @Override
        public void setBarObject(Foo obj) {
            //TODO: implement method
        }
    
        @Override
        public void setBarObject(URI obj) {
            //TODO: implement method
        }
    
        @Override
        public void setBarObject(SuperFoo obj) {
            barObj = obj;
        }
    
        @Override
        public void setBarObject(List<URI> obj) {
            //TODO: implement method
        }
    
        @Override
    	@XmlTransient
    	public Object getBarObject() {
    		return barObj;
    	}
    }

    Ну хотя бы NotImplementedException, но нет...

    PS Код немного по-переименовывал дабы не спалиться

    myzone, 26 Марта 2013

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

    +141

    1. 1
    [offtopic] http://propiske.net/sbor-podpisej/ [/offtopic]

    Ребята, извините за офтоп, нужно 100k подписей. Без вас никак.

    bot-minurast, 16 Марта 2013

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

    +12

    1. 1
    http://pastebin.com/kG05YmBX

    Поиск подстроки в строке, написано однокурсником

    jQuery, 09 Марта 2013

    Комментарии (10)
  10. Java / Говнокод #12665

    +81

    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
    public String isThisScreenWithHdpiDensity() {
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        switch (metrics.densityDpi) {
            case DisplayMetrics.DENSITY_LOW:
                return "ldpi";
            case DisplayMetrics.DENSITY_MEDIUM:
                return "mdpi";
            case DisplayMetrics.DENSITY_HIGH:
                return "hdpi";
        }
        return "xhdpi";
    }
    
    ...
    if (isThisScreenWithHdpiDensity().equals("hdpi")) {
        lpTabPane.height = 65;
    }
    if (isThisScreenWithHdpiDensity().equals("mdpi")) {
        lpUpperPane.height = 70;
    }
    if (isThisScreenWithHdpiDensity().equals("ldpi")) {
        lpTabPane.height = 32;
    }
    if (isThisScreenWithHdpiDensity().equals("xhdpi")) {
    
    }

    Перегоним константу в стрингу, а потом проверим ее equals. Отлично!

    danikula, 28 Февраля 2013

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

    +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
    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
    DoubleAnimation S4A = new DoubleAnimation();
                S4A.To = koef4;
                S4A.Duration = TimeSpan.FromSeconds(T);
                Trans1.BeginAnimation(TranslateTransform3D.OffsetXProperty, S4A);
                DoubleAnimation S4ACX = new DoubleAnimation();
                S4ACX.Duration = TimeSpan.FromSeconds(T);
                S4ACX.To = 0.4;
                Kleshni1Trans.BeginAnimation(RotateTransform3D.CenterXProperty, S4ACX);//Корректировка центра вращения клешни 
                DoubleAnimation S5A = new DoubleAnimation();
                S5A.To = koef5;
                S5A.Duration = TimeSpan.FromSeconds(T);
                Slider5.BeginAnimation(Slider.ValueProperty, S5A);//конец анимации робота
                BoxRotate2Center.CenterX = -BoxMove.OffsetX;
                BoxRotate2Center.CenterZ = -BoxMove.OffsetZ;
                BoxRotate1Center.CenterZ = -1.2;
                DoubleAnimation B1A = new DoubleAnimation();
                B1A.BeginTime = TimeSpan.FromSeconds(T*(2/1.5));
                B1A.To = 180+((180*Math.Asin(0.2/Math.Sqrt((1.2 - BoxMove.OffsetZ)*(1.2 - BoxMove.OffsetZ) + BoxMove.OffsetX*BoxMove.OffsetX)))/Math.PI)-(180*Math.Atan((BoxMove.OffsetX)/(-1.2+BoxMove.OffsetZ))/Math.PI);//Формула корректировки угла поворота коробки
                B1A.Duration = TimeSpan.FromSeconds(T);
                BoxRotate2.BeginAnimation(AxisAngleRotation3D.AngleProperty, B1A);//анимация вращения коробки
                DoubleAnimation B2A = new DoubleAnimation();
                B2A.BeginTime = TimeSpan.FromSeconds(T+T/4 +T * (2 / 1.5));
                B2A.To = 90 + 180 * Math.Atan((BoxMove.OffsetX) / (-1.2 + BoxMove.OffsetZ)) / Math.PI;
                B2A.Duration = TimeSpan.FromSeconds(T/4);
                BoxRotate1.BeginAnimation(AxisAngleRotation3D.AngleProperty, B2A);
                DoubleAnimation B3A = new DoubleAnimation();
                B3A.BeginTime = TimeSpan.FromSeconds(T * (2 / 1.5));
                B3A.To = 1;
                B3A.AutoReverse = true;
                B3A.Duration = TimeSpan.FromSeconds(T/1.5);
                BoxLiftAndMove.BeginAnimation(TranslateTransform3D.OffsetYProperty, B3A);
                DoubleAnimation B4A = new DoubleAnimation();
                B4A.BeginTime = TimeSpan.FromSeconds(T+T * (2 / 1.5));
                B4A.To = 3.75 - Math.Sqrt((1.2 - BoxMove.OffsetZ)*(1.2 - BoxMove.OffsetZ) + BoxMove.OffsetX*BoxMove.OffsetX);//формула для перемещения коробки вдоль оси Z
                B4A.Duration = TimeSpan.FromSeconds(T/4);
                BoxLiftAndMove.BeginAnimation(TranslateTransform3D.OffsetZProperty, B4A);//Анимация подъема и перемещения коробки
                DoubleAnimation B1A2 = new DoubleAnimation();
                B1A2.BeginTime = TimeSpan.FromSeconds(T * (2 / 1.5));
                B1A2.To = 180;
                B1A2.Duration = TimeSpan.FromSeconds(T);
                DoubleAnimation B2A2 = new DoubleAnimation();
                B2A2.BeginTime = TimeSpan.FromSeconds(T + T/4 + T * (2 / 1.5));
                B2A2.To = 0;
                B2A2.Duration = TimeSpan.FromSeconds(T/4);
                DoubleAnimation B3A2 = new DoubleAnimation();
                B3A2.BeginTime = TimeSpan.FromSeconds(T * (2 / 1.5));
                B3A2.To = 0;
                B3A2.AutoReverse = true;
                B3A2.Duration = TimeSpan.FromSeconds(T / 1.5);
                DoubleAnimation B4A2 = new DoubleAnimation();
                B4A2.BeginTime = TimeSpan.FromSeconds(T+T * (2 / 1.5));
                B4A2.To = -0.5;
                B4A2.Duration = TimeSpan.FromSeconds(T/4);

    Тут больше: http://www.cyberforum.ru/wpf-silverlight/thread789214.html
    Парниша делает робота на С#.

    Govnocoder#0xFF, 21 Февраля 2013

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