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

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

    +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
    namespace SmalltalkPHP
    {
    	class Model
    	{
    		internal static void CreateClass(string className)
    		{
    			ClassObject = new Class(className);
    		}
    
    		public static Class ClassObject { get; set; }
    		public class Message
    		{
    			public class Arguments
    			{
    				private SortedList arguments = new SortedList();
    				public void Add(String key, String name)
    				{
    					this.arguments.Add(key, name);
    				}
    				public String AsPhp()
    				{
    					String[] sb = new String[arguments.Count];
    					int i = 0;
    					foreach (DictionaryEntry arg in arguments)
    					{
    						if ((String)(arg.Value) != "") sb[i] = "$" + arg.Value;
    						i++;
    					}
    					return String.Join(", ", sb);
    				}
    				public String MakeFunctionName()
    				{
    					String[] sb = new String[arguments.Count];
    					int i = 0;
    					foreach (DictionaryEntry arg in arguments)
    					{
    						if ((String)(arg.Key) != "") sb[i] = (String)arg.Key;
    						i++;
    					}
    					return String.Join("_", sb);
    				}
    			}
    			public class Generic
    			{
    				public virtual string AsPhp()
    				{
    					return "nya";
    				}
    			}
    			public class Unary : Generic
    			{
    				public Unary(String name, Boolean isStatic = false)
    				{
    					this.Name = name;
    					this.Arguments = new Arguments();
    					this.IsStatic = isStatic;
    				}
    				public string Name { get; set; }
    				public Arguments Arguments { get; set; }
    				public Boolean IsStatic { get; set; }
    				public string PhpHeader
    				{
    					get
    					{
    						return String.Format("public {0}function {1}()", IsStatic ? "static " : "", Name);
    					}
    				}
    
    				public override string AsPhp()
    				{
    					return PhpHeader;
    				}
    			}
    			public class Keyword : Generic
    			{
    				public Keyword(Boolean isStatic = false)
    				{
    					this.Arguments = new Arguments();
    					this.IsStatic = isStatic;
    				}
    				public string Name { get { return Arguments.MakeFunctionName(); } }
    				public Arguments Arguments { get; set; }
    				public Boolean IsStatic { get; set; }
    				public string PhpHeader
    				{
    					get
    					{
    						return String.Format("public {0}function {1}({2})", IsStatic ? "static " : "", Name, Arguments.AsPhp());
    					}
    				}
    
    				public override string AsPhp()
    				{
    					return PhpHeader;
    				}
    			}
    		}
    	}
    }

    Писал конвертер Smalltalk -> PHP
    Где-то еще валяется Smalltalk -> Erlang

    kgm-rj, 14 Января 2016

    Комментарии (3)
  3. JavaScript / Говнокод #19294

    +1

    1. 1
    2. 2
    3. 3
    while ((math == (math = Math)).toString() == "true") {
       ...
    }

    программист-дотер

    mikamika83, 12 Января 2016

    Комментарии (37)
  4. JavaScript / Говнокод #19274

    +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
    componentDidMount() {
            this.clickListener = (e) => {
    
                var input = document.getElementById('searchInput');
                var filtersBar = document.getElementById('filters');
                var searchBar = document.getElementById('search');
                var clearButton = document.getElementById('suggestInputClearBtn');
                var isNav = e.target.className.indexOf('suggestNavBtn') >= 0;
    
                if(input == e.target || searchBar == e.target || filtersBar == e.target || clearButton == e.target || isNav || e.target.className.indexOf('tags-controller-wrapper') !== -1)
                    return;
    
                var classes = e.target.c†.split(' ');
    
                for(var cls of classes){
                    if(cls == 'autocompleteItem')
                    {
                        return;
                    }
                }
    
                if(this.props.isSuggestInputVisible)
                    this.props.onCloseAutosuggestion();
    
            };
            this.attachClickListener();
        }

    Я бы только за if без скобок прибил) Обратите внимание на 4 выборки по id которые можно было не делать каждый раз при клике, а если приглядеться то можно понять, что можно было совсем не выбирать ни разу, а если бы пионер знал что всплытие событие можно остановить то этот метод занял бы три строчки и на десерт обратите внимание как он перебирает значение className циклом - это при том что в этом проекте можно писать на es6 Это самый дебильный код который я видел в этом году

    inwebart, 29 Декабря 2015

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

    +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
    //  Qt QML >:D
    UI_Button
    {
            id: bt_connect
            height: 40
            width: 150
            radiusBorder: 20
            anchors.right: led_connection.left
            anchors.rightMargin: 10
            anchors.verticalCenter: parent.verticalCenter
            textOn: qsTr("Отключиться")
            textOff: qsTr("Подключиться")
            state: putState(QVipGUI.btConnection)
            onClicked:{
                if(QVipGUI.btConnection !== GuiDefines.DEF_STATE_DIMMED) {
                    if(QVipGUI.btConnection === GuiDefines.DEF_STATE_OFF) {
                        QVipGUI.setLedConnection(GuiDefines.DEF_STATE_OFF)
                        QVipGUI.method_ActionGui(GuiDefines.ID_ACTION_CONNECT)
                        QVipGUI.method_ActionGui(GuiDefines.ID_ACTION_GETPORT) // <!>
    
                        var i = 0;
                        while(++i < 1000000){};
                        QVipGUI.method_ActionGui(GuiDefines.ID_ACTION_GETCONF);
    
    
                    }
                    else {
                        QVipGUI.method_ActionGui(GuiDefines.ID_ACTION_DISCONNECT)
                    }
                }
            }
     }

    Qt-среда, язык описания интерфейса - QML >:D

    eremite88, 28 Декабря 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $safeGet=$_GET;
    
    $registry = ipsRegistry::instance();
    $registry->init();
    
    $_GET=$safeGet; // fucking ips registry

    Люблю IPB

    ZhoZho, 26 Декабря 2015

    Комментарии (0)
  7. JavaScript / Говнокод #19245

    +1

    1. 1
    2. 2
    3. 3
    function intersectRange (r1, r2) {
         return !(Math.max(r1['min'], r2['min']) > Math.min(r1['max'], r2['max']));
     }

    Пересечения диапазонов.
    Это то самое, которое: (r1[min] <= r2[max]) and (r1[max] >= r2[min])
    Я ж джва года над этим думал, прежде чем накласть.

    bot, 25 Декабря 2015

    Комментарии (8)
  8. 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)
  9. C# / Говнокод #19226

    +1

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

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

    delph_er, 24 Декабря 2015

    Комментарии (0)
  10. 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)
  11. 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)