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

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

    +151

    1. 1
    2. 2
    3. 3
    error_reporting( 0 );
    
    unset( $x[new XSLTProcessor()][new RecursiveArrayIterator()] );

    __proto__, 13 Февраля 2014

    Комментарии (11)
  3. Куча / Говнокод #14518

    +129

    1. 1
    2. 2
    3. 3
    http://lifenews.ru/news/125806
    Последний абзац:
    «Подозрение о том, что к созданию вредоносной программы могут быть причастны программисты российской школы, было высказано после того, как специалисты обнаружили, что часть кода вируса написана по-русски.»

    Это на 1С что ли? :D

    TBoolean, 07 Февраля 2014

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

    +123

    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
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
            {
                if (!Char.IsDigit(e.KeyChar) && !(Char.IsControl(e.KeyChar)))
                {
                    if (!((e.KeyChar.ToString() == ",") && (textBox1.Text.IndexOf(",") == -1)))
                        e.Handled = true;
                }
    
            }
    
            private void textBox2_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
            {
                if (!Char.IsDigit(e.KeyChar) && !(Char.IsControl(e.KeyChar)))
                {
                    if (!((e.KeyChar.ToString() == ",") && (textBox2.Text.IndexOf(",") == -1)))
                        e.Handled = true;
                }
            }

    Увидел у соседа по комнате книжку на полке '"C# в задачах и примерах"

    открываю, а там это

    первая надпись в книге - Процесс создания программы состоит из 2 шагов - создание формы и создания функций обработки.

    ООАиП, иди ты нахуй!

    kegdan, 30 Января 2014

    Комментарии (11)
  5. JavaScript / Говнокод #14409

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var summa = 0;
    for (i = 0; i < data.length; i++) {
        var j = 0;
        for (var key in data[i]) {
            j++;
            if (j == 3) summa += parseFloat(data[i][key]);
        }
    }

    вытаскиваем сумму из массива вида: [{MODEL:"ID-2112",COUNT:"1",PRICE:"14070"}, {...}]
    не! ну трети же, чо..

    belukov, 24 Января 2014

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    // Сначала было 
    $result['routes'][0]['legs'][0]['start_address'].split(',');
    // Повтыкал с минуту, исправил на 
    $result['routes'][0]['legs'][0]['start_address'].explode(',');

    NodeJS головного мозга...

    nonamez, 06 Января 2014

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

    +13

    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 (axis[0] == vector[0] && axis[1] == vector[1] && axis[2] == vector[2])
       {
          this->anglex = 0.0f;
       }
       else if (vector[1] >= 0.0f)
       {
          this->anglex = 360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
       }
       else
       {
          this->anglex = -360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
       }

    Часть либы ES3D (http://sourceforge.net/projects/es3d/).
    Кто не понял в чем прикол - все переменные имеют тип float.

    Pythoner, 23 Декабря 2013

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

    +79

    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
    import java.util.Random
    
    def random = new Random()
    def latitude = ''
    def longitude = ''
    def validDigits = 1..9
    
    for(def i in 1..16) {
    	if(i == 3){
    		latitude += '.'
    		longitude += '.'
    	}
    	latitude += validDigits[random.nextInt(validDigits.size())]
    	longitude += validDigits[random.nextInt(validDigits.size())]
    }
    
    testRunner.testCase.testSuite.setPropertyValue('soapuiclient.user.coordinates.latitude', latitude)
    testRunner.testCase.testSuite.setPropertyValue('soapuiclient.user.coordinates.longitude', longitude)

    Есть у нас монга, на ней хранятся в координаты. Проиндексировано всё, поиск быстрый, все дела... Ну и на это дело тест есть в SoapUI. Генерятся случайные координаты, сохраняются и вычитываются. Всё работало до поры до времени..

    И тут тест упал. На ровном месте регрессия. Лезу в логи, нахожу ошибку: координаты: [ 51.16344233595981, 94.45587248671733 ]. Ага, думаю, долгота больше 90 градусов... Проверил - так и есть, умняшка монга валидирует координаты. Ну понятно, рандом подкачал, ща поправим. Но там был не просто рандом...

    madhead, 19 Декабря 2013

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var lines = content.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList();
    
    // remove first and last tags
    lines = lines.Skip(2).Take(lines.Count - 3).ToList();           //    <------------   ОНО
    for (var i = 0; i < lines.Count; i++)
    {
            // remove one indent from each line
            lines[i] = lines[i].Substring(indentation, lines[i].Length - indentation);
    }

    Покоробило от такого подхода...
    Я бы написал for от 1 до lines.Count-1 :)

    ddv_demon, 17 Декабря 2013

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

    +161

    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
    function foo(id) {
          document.getElementById('1').style.display='none';
          document.getElementById('46').style.display='none';
          document.getElementById('2').style.display='none';
          document.getElementById('53').style.display='none';
          document.getElementById('55').style.display='none';
          document.getElementById('56').style.display='none';
          document.getElementById('57').style.display='none';
          document.getElementById('58').style.display='none';
    if (document.getElementById(id).style.display == "none")
             {document.getElementById(id).style.display = "block"}
    else
             {document.getElementById(id).style.display = "none"}
    }

    Прислали с бывшей работы.
    %%Саша, я таки ушёл.%%

    хуита, 24 Ноября 2013

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

    +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
    45. 45
    46. 46
    47. 47
    private static int GetCarMaxRoomNumberNominal(string trainName, TrainCar car)
            {
                if (!String.IsNullOrEmpty(trainName))
                {
                    trainName = trainName.ToUpper();
                    if (trainName.StartsWith("САПСАН"))
                    {
                        return 66;
                    }
                    else if (trainName.StartsWith("ЛАСТОЧКА"))
                    {
                        return 103;
                    }
                    else if (trainName.StartsWith("АЛЛЕГРО"))
                    {
                        return 72;
                    }
                }
    
                switch (car.Category)
                {
                    case TrainCarCategory.ReservedSeat:
                    case TrainCarCategory.Common:
                        return 54;
                    case TrainCarCategory.Compartment:
                        return car.TwoStorey ? 112 : 36;
                    case TrainCarCategory.Lux:
                    case TrainCarCategory.Soft:
                        return car.TwoStorey ? 96 : 18;
                    case TrainCarCategory.Sedentary:
                        if (car.ServiceClass.Contains("1С"))
                        {
                            return 42;
                        }
                        else if (car.ServiceClass.Contains("2С"))
                        {
                            return 80;
                        }
                        if (car.ServiceClass.Contains("3С"))
                        {
                            return 117;
                        }
                        return 1;
                    default:
                        return 1;
                }
            }

    Расчет количества мест в вагоне

    Shadeglare, 10 Ноября 2013

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