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

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

    +1

    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
    langDict0.Add(eng , new string[] { ger, fre, spa, chi, rus, jap, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(ger , new string[] { eng, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(fre , new string[] { eng, ger, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(spa , new string[] { eng, ger, fre, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(chi , new string[] { eng });
    langDict0.Add(rus , new string[] { eng });
    langDict0.Add(jap , new string[] { eng });
    langDict0.Add(por , new string[] { eng, ger, fre, spa, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(ita , new string[] { eng, ger, fre, spa, por, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(dut , new string[] { eng, ger, fre, spa, por, ita, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(pol , new string[] { eng, ger, fre, spa, por, ita, dut, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal  });
    langDict0.Add(swe , new string[] { eng, ger, fre, spa, por, ita, dut, pol, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(dan , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(fin , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(gre , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, cze, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(cze , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, rom, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(rom , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, hun, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(hun , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, slvk, bul, slvn, lit, lat, est, mal });
    langDict0.Add(slvk, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, bul, slvn, lit, lat, est, mal });
    langDict0.Add(bul , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, slvn, lit, lat, est, mal });
    langDict0.Add(slvn, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, lit, lat, est, mal });
    langDict0.Add(lit , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lat, est, mal });
    langDict0.Add(lat , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, est, mal });
    langDict0.Add(est , new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, mal });
    langDict0.Add(mal, new string[] { eng, ger, fre, spa, por, ita, dut, pol, swe, dan, fin, gre, cze, rom, hun, slvk, bul, slvn, lit, lat, est });

    ffff, 25 Декабря 2015

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

    +1

    1. 1
    _workflowQueue = new Queue<IWorkflowInfo>(_workflowQueue.Where(w => !(w == workflow || w.WorkflowGuid == workflow.WorkflowGuid)));

    Вот как надо делать, если из очереди нужно удалить произвольный элемент.
    Использовать List?! Это для слабаков!

    delph_er, 24 Декабря 2015

    Комментарии (0)
  4. PHP / Говнокод #19211

    +1

    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
    $product = ORM::factory('product');
    
    // $product-> ... = ...;
    
    $price = ORM::factory('price');
    $price->save();
    $product->price = $price->id;
    $product->save();
    $price->product = $product->id;
    
    // $price-> ... = ...;
    
    $price->save();

    Для гарантии

    kgm-rj, 22 Декабря 2015

    Комментарии (14)
  5. PHP / Говнокод #19210

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    echo '<script type="text/javascript">';
    echo 'var categories = new Array();';
    if (count($categData)) {
        foreach ($categData as $id => $name) {
            echo ' categories[' . $id . '] = "' . $name . '";';
        }
    }
    echo ' </script>';
    ?>

    danielpetrovaliev, 22 Декабря 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    select value, value_type from b_iblock_element_property WHERE id = **;
    
    b_iblock_element_property.value: a:2:{s:4:"TYPE";s:4:"text";s:4:"TEXT";s:17:"Хорошее состояние";}
    b_iblock_element_property.value_type: text

    bitrix <3

    heyzea1, 21 Декабря 2015

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

    +1

    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
    static int Cols (double[,] Arr, out int rows)
    {
    int n = Arr.GetLength(0);
    int m = Arr.GetLength(1);
    rows=0;
    
    int i=0;
    int j=0;
    
    for (; j < m;j++)
    {
    
    i = 0;
    while (i < n-1 & Arr[i, j] < (Arr[i+1 , j]))
    {
    i++;
    }
    if (i == n-1)
    rows++;
    }
    int k = 0;
    i = 0;
    for (; i < n; i++)
    {
    j = 0;
    
    while (j < m-1 & Arr[i, j] < (Arr[i, j+1 ]))
    {
    j++;
    }
    if (j == m - 1)
    k++;
    }
    return k;
    }

    Govno_Coder, 18 Декабря 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    void CDiagram::readDomElement( const QDomElement & de )
    {
    // ...
            QString sstratum = de.attribute( "stratum", "1" );
            bool ok = false;
            int istratum = sstratum.toInt( &ok );
            setStratum( ok ? istratum : CTSWConfig::m_SyncStratum );
    // ...
    }

    Парсинг xml конфигов, код не мой, но надо переделывать.

    OlegUP, 18 Декабря 2015

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

    +1

    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
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    public static CategoryAttribute Build(string category_name, string attribute_type, string attribute_name, object attribute_value)
            {
                try
                {
                    CategoryAttribute document_attribute;
    
                    switch(attribute_type)
                    {
                        case "string":
                        case "double_as_string":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.String);
                            break;
                        case "string_as_date":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.DateTime);
                            break;
                        case "int":
                        case "double_as_int":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.Integer);
                            break;
                        case "double":
                            document_attribute = new CategoryAttribute(category_name, attribute_name, TypeEnum.Double);
                            break;
                        default:
                            throw new ApplicationException("Не верно настроен тип данных атрибута '" + attribute_name + "' категории '" + category_name + "'.");
                    }
    
                    if (attribute_value == null)
                        return document_attribute;// атрибут остался неопределенным
    
                  switch (document_attribute.Type)
                  {
                      case TypeEnum.String:
                            {
                                switch (attribute_type)
                                {
                                    case "string":
                                        {
                                            if (!(attribute_value is string))
                                                throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                               + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                               attribute_type + "'.");
    
                                            document_attribute.sValue = attribute_value as string;
                                        } break;
                                    case "double_as_string":
                                        {
                                            if (!(attribute_value is double))
                                                throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                               + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                               attribute_type + "'.");
    
                                            document_attribute.sValue = ((double)attribute_value).ToString();
                                        } break;
                                }
                            }
                            break;
                            case TypeEnum.Integer:
                            {
                                switch (attribute_type)
                                {
                                    case "int":
                                    {
                                        if (!(attribute_value is int))
                                            throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                           + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                           attribute_type + "'.");
    
                                        document_attribute.iValue = (int)attribute_value;
                                    }   break;
                                    case "double_as_int":
                                    {
                                        if (!(attribute_value is double))
                                            throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                                                           + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" +
                                                                           attribute_type + "'.");
    
                                        document_attribute.iValue = (int)(double)attribute_value;
                                    }   break;
                                }
                            }
                            break;
                          case TypeEnum.Double:
                            {
                                if (!(attribute_value is float || attribute_value is double || attribute_value is int || attribute_value is long))
                                    throw new ApplicationException("Тип данных '" + attribute_value.GetType() + "' входного значения атрибута '" + attribute_name
                                        + "' категории '" + category_name + "' не может быть приведен к требуему типу данных '" + attribute_type + "'.");
    
                                document_attribute.dValue = (double)attribute_value;
                            }
                            break;
                    }
    
                    return document_attribute;
    
                    catch (Exception e)
                       {
                         //...
                       }
                  }

    Создание объекта типа CategoryAttribute.

    algore, 15 Декабря 2015

    Комментарии (1)
  10. PHP / Говнокод #19176

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var cloths = {
      <?php foreach ($clothList as $cloth): ?>
        "<?=$cloth->id()?>": {
          "id": <?=$cloth->id()?>,
          "name": "<?=$cloth->name()?>",
          "public_name": "<?=str_replace('"', '\"', $cloth->public_name())?>"
        },
      <?php endforeach; ?>
      "dummy": {}
    };

    kgm-rj, 14 Декабря 2015

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

    +1

    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
    if (dlgOpen.ShowDialog() != DialogResult.OK) return;
    
                txtLog.Clear();
                string customXMLFileName = dlgOpen.FileName;
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(customXMLFileName);
               
                foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
                {
                   
                    if (node.Name == "Surfaces")
                       {
    
                        foreach (XmlNode childNode in node.ChildNodes)
                        {
                            txtLog.AppendText(childNode.Name.ToString() + Environment.NewLine);
    
                            foreach (XmlNode _childNode in childNode.ChildNodes)
                            {
                                if (_childNode.Name == "SourceData")
                                {
                                    foreach (XmlNode __childNode in _childNode.ChildNodes)
                                    {
                                        txtLog.AppendText(__childNode.Name.ToString() + Environment.NewLine);
                                        if (__childNode.Name == "Breaklines")
                                        {
                                            foreach (XmlNode ___childNode in __childNode.ChildNodes)
                                            {
                                                txtLog.AppendText(___childNode.Name.ToString() + Environment.NewLine);
                                                XmlNode dataNode = ___childNode.LastChild;
                                                string txtData = dataNode.InnerText;
                                                txtLog.AppendText(txtData + Environment.NewLine);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                   }
                }

    Невнимательное чтение MSDN привело к такому плачевному результату. А всего лишь хотелось прочитать значение дочерних нод Breaklines....
    GetElementsByTagName в помощь....

    Thrasher1980, 12 Декабря 2015

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