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

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

    +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
    private int GetSroOper(MiscTransactionParams param)
    		{
    			if (param.ExpenseItem != null)
    			{
    				switch (param.ContractType)
    				{
    					case Entities.AT.ContractType.Undefined:
    					case Entities.AT.ContractType.TimeAndMaterials:
    					case Entities.AT.ContractType.Retainer:
    						switch ((int)param.ExpenseItem.ExpenseCategory)
    						{
    							case 2:
    							case 3:
    							case 29684252:
    							case 29684285:
    							case 29684805:
    								return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation600 : Helper.SLServiceOrderOperation900;
    							default:
    								throw new InvalidOperationException("Unsupported Expense Category value");
    						}
    					case Entities.AT.ContractType.RecurringService:
    						switch ((int)param.ExpenseItem.ExpenseCategory)
    						{
    							case 2:
    							case 3:
    							case 29684252:
    							case 29684285:
    							case 29684805:
    								return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation550 : Helper.SLServiceOrderOperation950;
    							default:
    								throw new InvalidOperationException("Unsupported Expense Category value");
    						}
    					case Entities.AT.ContractType.FixedPrice:
    						switch ((int)param.ExpenseItem.ExpenseCategory)
    						{
    							case 2:
    							case 3:
    							case 29684252:
    							case 29684285:
    							case 29684805:
    								return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation500 : Helper.SLServiceOrderOperation950;
    							default:
    								throw new InvalidOperationException("Unsupported Expense Category value");
    						}
    					case Entities.AT.ContractType.Incident:
    						switch ((int)param.ExpenseItem.ExpenseCategory)
    						{
    							case 2:
    							case 3:
    							case 29684252:
    							case 29684285:
    							case 29684805:
    								return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation600 : Helper.SLServiceOrderOperation950;
    							default:
    								throw new InvalidOperationException("Unsupported Expense Category value");
    						}
    					default:
    						throw new InvalidOperationException("Unsupported ContractType value");
    				}
    			}
    			else
    			{
    				switch (param.ContractType)
    				{
    					case Entities.AT.ContractType.Undefined:
    					case Entities.AT.ContractType.TimeAndMaterials:
    					case Entities.AT.ContractType.Retainer:
    						return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation600 : Helper.SLServiceOrderOperation900;
    					case Entities.AT.ContractType.RecurringService:
    						return param.BillingItem.IsNonBillable() ? Helper.SLServiceOrderOperation550 : Helper.SLServiceOrderOperation950;
    					case Entities.AT.ContractType.FixedPrice:
    					case Entities.AT.ContractType.Incident:
    						int sroOper = (int)param.OrderOperation.EntityRow()[Constants.ServiceOrderOperation.Field.SroOper];
    						switch (sroOper)
    						{
    							case 500:
    							case 600:
    							case 800:
    							case 850:
    							case 950:
    								return sroOper;
    							default:
    								throw new InvalidOperationException("Unsupported Operation value");
    						}
    					default:
    						throw new InvalidOperationException("Unsupported ContractType value");
    				}
    			}
    		}

    Это наш сеньор написал

    kagetoki, 30 Марта 2016

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

    +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
    [DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
    static extern int QuickUsbWriteData(IntPtr Handle, byte[] outData, int length);
    
    // ...
    
     public bool Write(byte[] data)
        {
        // ...
            int result = QuickUsbWriteData(handle, data, data.Length);
    
            if (result != 0)
                return true;
            else if (result == 0)
            {
                LastError =  "QUSB returned 0";
                return false;
            }
            else
            {
                LastError = "Unknown error inside WriteData";
                return false;
            }
        // ...
      }

    Видимо, последняя ветка - на случай зомби-апокалипсиса или особо сильных глюков после передоза.

    yamamoto, 25 Марта 2016

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

    +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
    template < typename CType >
        void list < CType >::sorted_push(CType val, long int key)
    {
    	if (head) {
    		// Создаём контейнер и помещаем в него полученное значение
    		container < CType > *new_cont;
    		container < CType > *tmp = head;
    
    		new_cont = new container < CType >;
    		new_cont->set_key(key);
    		new_cont->set_cargo(val);
    
    		while ((tmp != tail) && (key > (tmp->get_key())))
    			tmp = tmp->get_next();
    
    		if ((tmp == tail) && (key > (tmp->get_key()))) {	// Если выполнились одновременно два условия в цикле
    			new_cont->set_next(tmp->get_next());	// Вставляем в самый конец
    			new_cont->set_past(tmp);
    			tmp->set_next(new_cont);
    			tail = new_cont;
    		} else {
    			new_cont->set_next(tmp);
    			new_cont->set_past(tmp->get_past());
    			if ((tmp->get_past()) != NULL)
    				tmp->get_past()->set_next(new_cont);
    			if (tmp == head)
    				head = new_cont;
    			tmp->set_past(new_cont);
    		}
    
    		if (empty) {
    			empty = false;
    			tail = head;
    		}
    	} else {
    		container < CType > *new_cont;
    
    		new_cont = new container < CType >;
    		new_cont->set_key(key);
    		new_cont->set_cargo(val);
    
    		new_cont->set_next(head);
    		tail = head = new_cont;
    		empty = false;
    	}
    }
    
    template < typename CType > CType queue < CType >::pop()
    {
    	container < CType > *tmp = list<CType>::head;
    
    	if (tmp == NULL) {
    		std::cerr <<
    		    "Стек пуст! Стек возвращает мусор! ";
    		list<CType>::empty = true;
    	} else {
    		CType tmpval = list<CType>::head->get_cargo();
    		// Переходим к следующему элементу
    		list<CType>::head = list<CType>::head->get_next();
    		if (list<CType>::head == NULL)
    			list<CType>::empty = true;
    		delete tmp;
    		return tmpval;
    	}
    }
    
    template < typename CType > CType stack < CType >::pop()
    {
    	container < CType > *tmp = list<CType>::tail;
    
    	if (tmp == NULL) {
    		std::cerr <<
    		    "Очередь пуста! Возвращается мусор! ";
    		list<CType>::empty = true;
    	} else {
    		CType tmpval = list<CType>::tail->get_cargo();
    
    		// Переходим к предыдущему элементу
    
    		if (list<CType>::tail != list<CType>::head)
    			list<CType>::tail = list<CType>::tail->get_past();
    		else
    			list<CType>::empty = true;
    		delete tmp;
    		return tmpval;
    	}
    }

    пострелял себе в ногу

    viktorokh96, 25 Марта 2016

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

    +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
    document.getElementById('order').addEventListener('submit', function(e){
      document.getElementById('order').addEventListener('keyup', function(e){
          var appBtns = document.getElementsByClassName('btn'), i;
          for (var i = 0; i < appBtns.length; i ++)
            appBtns[i].style.disabled = false;
          form.submit.disabled = false;
      });
      var appBtns = document.getElementsByClassName('btn'), i;
      for (var i = 0; i < appBtns.length; i ++)
        appBtns[i].style.disabled = true;
      form.submit.disabled = true;
    });

    без комментариев

    vestnik, 24 Марта 2016

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

    +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
    public class ResultBase {
            private ColumnCollections _columns;
            private ArrayList _rows;
    ...
    }
    ...
    public class ColumnCollections : System.Collections.Specialized.NameObjectCollectionBase {}
    ...
            public int Compare(object x, object y) {
                if (x != null && y != null) {
                    object[] objX = x as object[];
                    object[] objY = y as object[];
    
                    if (objX != null && objY != null && objX.Length > 0 && objX.Length == objY.Length) {
                        switch (_ColumnType.FullName) {
                            case "System.Int16":
                                if (_Direction == DirectionType.ASC) {
                                    return ((short)objX[_ColumnIndex]).CompareTo((short)objY[_ColumnIndex]);
                                } else {
                                    return ((short)objY[_ColumnIndex]).CompareTo((short)objX[_ColumnIndex]);
                                }
                            case "System.Int32":
                                if (_Direction == DirectionType.ASC) {
                                    return ((int)objX[_ColumnIndex]).CompareTo((int)objY[_ColumnIndex]);
                                } else {
                                    return ((int)objY[_ColumnIndex]).CompareTo((int)objX[_ColumnIndex]);
                                }
                            case "System.Int64":
                                if (_Direction == DirectionType.ASC) {
                                    return ((long)objX[_ColumnIndex]).CompareTo((long)objY[_ColumnIndex]);
                                } else {
                                    return ((long)objY[_ColumnIndex]).CompareTo((long)objX[_ColumnIndex]);
                                }
                            case "System.Double":
                                if (_Direction == DirectionType.ASC) {
                                    return ((double)objX[_ColumnIndex]).CompareTo((double)objY[_ColumnIndex]);
                                } else {
                                    return ((double)objY[_ColumnIndex]).CompareTo((double)objX[_ColumnIndex]);
                                }
                            case "System.Decimal":
                                if (_Direction == DirectionType.ASC) {
                                    return ((decimal)objX[_ColumnIndex]).CompareTo((decimal)objY[_ColumnIndex]);
                                } else {
                                    return ((decimal)objY[_ColumnIndex]).CompareTo((decimal)objX[_ColumnIndex]);
                                }
                            case "System.Single":
                                if (_Direction == DirectionType.ASC) {
                                    return ((float)objX[_ColumnIndex]).CompareTo((float)objY[_ColumnIndex]);
                                } else {
                                    return ((float)objY[_ColumnIndex]).CompareTo((float)objX[_ColumnIndex]);
                                }
                            case "System.String":
                                String sX = (!Convert.IsDBNull(objX[_ColumnIndex])) ? (String)objX[_ColumnIndex] : String.Empty;
                                if (String.IsNullOrEmpty(sX)) {
                                    sX = "";
                                }
    
                                String sY = (!Convert.IsDBNull(objY[_ColumnIndex])) ? (String)objY[_ColumnIndex] : String.Empty;
                                if (String.IsNullOrEmpty(sY)) {
                                    sY = "";
                                }
    
                                if (_Direction == DirectionType.ASC) {
                                    return sX.CompareTo(sY);
                                } else {
                                    return sY.CompareTo(sX);
                                }
                            case "System.DateTime":
                                if (_Direction == DirectionType.ASC) {
                                    return ((DateTime)objX[_ColumnIndex]).CompareTo((DateTime)objY[_ColumnIndex]);
                                } else {
                                    return ((DateTime)objY[_ColumnIndex]).CompareTo((DateTime)objX[_ColumnIndex]);
                                }
                            case "System.Boolean":
                                if (_Direction == DirectionType.ASC) {
                                    return ((Boolean)objX[_ColumnIndex]).CompareTo((Boolean)objY[_ColumnIndex]);
                                } else {
                                    return ((Boolean)objY[_ColumnIndex]).CompareTo((Boolean)objX[_ColumnIndex]);
                                }
                        }
                    }
                }
    
    
                return 0;
            }

    достался мне в наследство код, который я года два поддерживал. никогда не вдавался в код той тулзы, которая из базы результаты возвращяла, пока не пришлось описать проект комментариями, чтобы отдать его клиенту.
    компарер просто божественен...
    я конечно точно не знаю, кто это писал, но за то знаю, кому пренадлежил авторство конкретной версии, но за то знаю, кто писал первую... и этот человек мне еще говорил, что мой экстеншен в 50 строк, который через рифлексию миллион строк из IDataReader за секунду в коллекцию объектов возвращял, уверял меня, что это медленное и корявое говно. нет, это медленное и корявое говно!

    господи, за что?

    Lokich, 21 Марта 2016

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

    +1

    1. 1
    https://habrahabr.ru/company/tm/blog/279759/

    На Швабре можно постить гоатсе.

    Vasiliy, 21 Марта 2016

    Комментарии (20)
  8. JavaScript / Говнокод #19665

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for ( i = 0; i < Arr3.length; i++ ){
    	Arr3[i].innerHTML = Arr3[i].textContent
    					.replace(/пздц|пиздец|пизда|хуй|блядь|нахуй|сука|пидорас|пидор|хуета|чмошник|б\*\*|^го|куй|куй|сладкие|анал|марамойка| девочки|хауню|хуйня|пздц|накуй|придурок|придурог|блядский|блядство|доебался|ебало|ебанул|ебанулся|[её]бнутый|[её]бнутая|[её]бнутые|хуесос|хуесосы|шлюха|пиндуй|нах|пиздуй|ахуеть|ахуенный|ахуенно|[её]пт|пизда|пиздит|охуел|ахуел|спиздил|спизди|ебаный|пиздюк|пиздище|обосанная|обоссанная|обосанный|обоссанный|хохол|пох|хохлушка|пиздюк|пиздюки|жополиз|шлюхи|бляди|пиздабол|бля|пиздишь|ебан|ебло|(Пообщаюсь с девушкой!)|(одни бляди)|(Хули ты палишь)|хер|(хер в рот)|далбаеб|заебал|ебать|(нихуя себе)|мля|замутим|нихуя|ебу|вирт|шмара|замутить|засади|засадите|хуясе|проебал|охуенные|охуенный|охуенне|ипать|попи..дим|попиздим|попездим|ебануться|жопу|жопа|жопой|жопе|(жестко любит в рот)|падла|(гоу замутим вирт)|сцучка|гоу|бог|боже|еблей|ебля|ёблей|пиздёж|пиздеж|хуле|ёбля|еплей|епля|хз|ипал|ипать|сцука|сцуко|мразинка|мразь/ig, "&#127856;&#127799; The good word could be there, but there's only emptiness.&#127856;&#127799;");
    				
    	if( Arr3[i].textContent.match ( /tipos\.at\.ua|Профсоюзная|метро|(для мужиков)|krof\.3dn\.ru|(хочу секса)|(в финaнcoвoм плaне)|(uщy прияmнoгo мoлoдого челoвeкa)|порно|порнуха|(член у себя в попке)|(в эскорте для женщин)|(обмeн uнmимнымu фomкaми)|(для дружбы, секса и общения)|(вы не xoтелu бы пошaлumь cо мной?)|(Качественный утренний минетик)|opik\.id\.vg|(Ищу уверенного в себе мужчину, для серьёзных отношений или не совсем серьёзных)|(Кто хочет познакомиться для секса?)|(Хочу предложить тебе попользоваться друг другом)|(ищу партнёра для шалостей в скайпе)|(покажу член)|(Бyдy радa нoвoмy знакoмcтву c мужчuной для дpужбы, oбщенuя uлu чeго-то бoльшего)|(Покaжу кискy пo вебке)|(Покажу киску по вебке)|(Покажу по вебке)|(Покажу по скайпу)|(Кuдaю инmuм фоmки. вoзможна сmpечa)|(В поискe сuмпaтuчнoгo мoлoдoго парня для всmречи сегодня вечеpoм)|(Стройная, свободная, страстная девушка)|(ecmь многo uнтимных фоmoгрaфuй и видeo)|futr\.pp\.ua|(Прuглашу нa чaшечкy кoфe c послeдyющим прoдолжениeм)|(страстная, стройная брюнеточка)|fVuxFsYUyj\.vn\.tn|(сучку со со своего района и приписюнить)|(ищу парня для секса в свободное время)|(Путаны из твоего города.)|(Жду тебя у себя! Приятно проведем время!)|(Хочешь окунуться в чарующий мир жаркой эротики?)|(Мальчики кто хочет секса пишите)|(Встречусь с хорошим, страсть гарантирована)|(я oчень cильнo люблю соcaть)|(юблю бpаmь в рom y паpнeй посmаpшe)|(Милая, сексуальная, красивая и очень обаятельная)|(Жду в гости Котики мой номерочек)|(925-324-17-61)|(открылась новая группа по продаже кодов)|(кто желает встреч, пишите, оплата наличными)|(Телки скучают без мужиков)|www\.youwentianxia\.cn|(Чувственная, яркая и темпераментная девушка пригласит в гости)|(Прuглашу к ceбе сегодня вeчером молoдогo и веселого парня)|(Красивая девушка с горячим темпераментом)|(Привет, кто хочет секса)|(Строго Москва и 18+)|(B таких грyппaх куча мошенников, эти бaбы все ненастоящие!)|(я сейчас свободна и могу пригласить в гости)|(Одинокие женщины в поиске)|(заходите на бесплатные сайтики знакомств)|(Москва, оплата при личной встрече)|(девушка с горячими желаниями, желает тигра)|(кто хочет секс с горячей блонди)|(жду в гости, оплата при встрече)|(работа для парней 18)|(красивого, страстного мужчину)|(удивлю техниками минета и просто помогу получить незабываемое удовольствие)|(мaльчикu кmo желaem cо мной немнoгo пошалиmь)/ig)){
    	   // Arr3[i].parentNode.parentNode.parentNode.parentNode.style.display="none";
    	   // Arr3[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
    	   // alert(Arr3[i].className);
    	   Arr3[i].parentNode.parentNode.parentNode.parentNode.parentNode.style.display='none';
    	}
    }

    3_dar, 20 Марта 2016

    Комментарии (23)
  9. PHP / Говнокод #19657

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public function k($heh) {
    	return ($heh == "") ? rand() : $heh;
    }
    
    // ...
    $stars += count(array_intersect(
    	array($this->k($this->id_type), $this->k($this->id_type2), $this->k($this->id_type3)), 
    	array($this->k($that->id_type), $this->k($that->id_type2), $this->k($that->id_type3))
    ));
    // ...

    не учитываем пустые id_type

    Uhehesh, 18 Марта 2016

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

    +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
    void g()
    {
        int sum;
        auto rec = [&sum](int i) -> int
        {
            static int (*inner)(int&, int) = [](int& _sum, int i)->int 
            {
                _sum += i;
                return i>0 ? inner(_sum, i-1)*i : 1; 
            };
            return inner(sum, i);
        };
    }

    LispGovno, 15 Марта 2016

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

    +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
    $res2=CSaleBasket::GetList(array(), array(
    	"PRODUCT_ID"=>$record["PRODUCT_ID"],
    	"!ORDER_ID"=>0
    ));
    $reserverY = array("N", "A", "C", "B", "D", "P", "R", "S", "T", "E");
    while($record2=$res2->GetNext()){
    
    	$ordNext = CSaleOrder::GetList(array(), array("ID"=>$record2['ORDER_ID']))->GetNext();
    
    	if(in_array($ordNext['STATUS_ID'], $reserverY) && $ordNext['CANCELED'] != 'Y')
    	{
    		$product["QUANTITY_RESERVED"] += $record2['QUANTITY'];
    	}
    }

    turbosnail, 11 Марта 2016

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