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

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

    +3

    1. 1
    2. 2
    3. 3
    /*
    удалено по просьбе правообладателя
    */

    Люблю такое, там ещё реализовано наследование, vtable и прочие радости жизни. Спрашивается, нафига из чистых си делать недоплюсы? Ладно там хотя бы gobject взяли, но лисапед то зачем с треугольными колесами?

    gorthauer87, 08 Октября 2015

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    %%% O(n log n)
    nub([]) -> [];
    nub([H|T]) ->                    
        case lists:member(H, T) of
            true ->
                nub(T);
            false ->
                [H|nub(T)]
        end.

    кто-то услышал про логлинейный nub, и решил, что у него тоже получится

    CHayT, 06 Октября 2015

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

    −94

    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
    Функция ПолучитьДоговорКонтрагента(Организация,Подразделение,Контрагент) Экспорт
    	
    	 ЗапросДоговор = Новый Запрос;
    		ЗапросДоговор.Текст = "ВЫБРАТЬ
    		               |	ДоговорыКонтрагентов.Ссылка
    		               |ИЗ
    		               |	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    		               |ГДЕ
    		               |	ДоговорыКонтрагентов.Организация = &Организация
    		               |	И ДоговорыКонтрагентов.Подразделение = &Подразделение
    		               |	И ДоговорыКонтрагентов.Владелец = &Владелец
    		               |
    		               |СГРУППИРОВАТЬ ПО
    		               |	ДоговорыКонтрагентов.Ссылка";
    		ЗапросДоговор.УстановитьПараметр("Организация",Организация);
    		ЗапросДоговор.УстановитьПараметр("Подразделение",Подразделение);
    		ЗапросДоговор.УстановитьПараметр("Владелец",Контрагент);
    		Результат = ЗапросДоговор.Выполнить();
    		Если НЕ Результат.Пустой() Тогда
    			Возврат Результат.Выбрать().Следующий();
    		Иначе
    			
    			Возврат Справочники.ДоговорыКонтрагентов.ПустаяСсылка();
    			
    		КонецЕсли;
    	
    КонецФункции

    Вот вроде функция общего модуля называется ПолучитьДоговорКонтрагента, и ты, не заглядывая в неё, конечно же, ждёшь возврата ссылки на спр-к ДоговорыКонтрагентов, но нет!!

    SkyHunter, 02 Октября 2015

    Комментарии (16)
  5. C++ / Говнокод #18788

    +1

    1. 1
    TBufferedFileInput storage(sprintf("%s", path));

    Весьма оригинальный способ приведения типа к самому себе.

    skyhawk, 30 Сентября 2015

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

    +5

    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
    if($row198['verein_id']==$row511['verein_1'])
    {
    				$row198['neu_tore']=$row198['last_tore']+$row511['tore_1'];
    				$row198['neu_gegentore']=$row198['last_gegentore']+$row511['tore_2'];
    				$row198['neu_tordiff']=$row198['neu_tore']-$row198['neu_gegentore'];
    				$row198['neu_siege']=$row198['last_siege']+($row511['tore_1']>$row511['tore_2']);
    				$row198['neu_niederlagen']=$row198['last_niederlagen']+($row511['tore_1']<$row511['tore_2']);
    				$row198['neu_unentschieden']=$row198['last_unentschieden']+($row511['tore_1']==$row511['tore_2']);
    				$row198['neu_spiele']=$row198['last_spiele']+1;
    				$row198['last_punkte']=$row198['last_siege']*3+$row198['last_unentschieden']*1;
    				$row198['neu_punkte']=$row198['neu_siege']*3+$row198['neu_unentschieden']*1;
    }
    else if($row198['verein_id']==$row511['verein_2'])
    {
    				$row198['neu_tore']=$row198['last_tore']+$row511['tore_2'];
    				$row198['neu_gegentore']=$row198['last_gegentore']+$row511['tore_1'];
    				$row198['neu_tordiff']=$row198['neu_tore']-$row198['neu_gegentore'];
    				$row198['neu_siege']=$row198['last_siege']+($row511['tore_1']<$row511['tore_2']);
    				$row198['neu_niederlagen']=$row198['last_niederlagen']+($row511['tore_1']>$row511['tore_2']);
    				$row198['neu_unentschieden']=$row198['last_unentschieden']+($row511['tore_1']==$row511['tore_2']);
    				$row198['neu_spiele']=$row198['last_spiele']+1;
    				$row198['last_punkte']=$row198['last_siege']*3+$row198['last_unentschieden']*1;
    				$row198['neu_punkte']=$row198['neu_siege']*3+$row198['neu_unentschieden']*1;
    }

    через 5 минут заметил разницу.

    kropotor, 31 Июля 2015

    Комментарии (16)
  7. Python / Говнокод #18244

    −120

    1. 1
    sqlalchemy.orm.relationship(argument, secondary=None, primaryjoin=None, secondaryjoin=None, foreign_keys=None, uselist=None, order_by=False, backref=None, back_populates=None, post_update=False, cascade=False, extension=None, viewonly=False, lazy=True, collection_class=None, passive_deletes=False, passive_updates=True, remote_side=None, enable_typechecks=True, join_depth=None, comparator_factory=None, single_parent=False, innerjoin=False, distinct_target_key=None, doc=None, active_history=False, cascade_backrefs=True, load_on_pending=False, strategy_class=None, _local_remote_pairs=None, query_class=None, info=None)

    Охуенный АПИ: прочитал и сразу запомнил.

    wvxvw, 27 Мая 2015

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

    +77

    1. 1
    2. 2
    3. 3
    if (measurer instanceof IsGroundedMeasurer) {
        measurer = (IsGroundedMeasurer) measurer;
    }

    nikit13, 27 Марта 2015

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

    +127

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // А
    if (x) {
        ...
        doStuff (x);
        ...
    
    // Б
    if (x) {
        ...
        doStuff (true);
        ...

    что меньшее говно? А или Б?

    в случае А приходится напрягать мысль на строчке doStuff(x) чему же там равно х. но при этом эту строчку можно безболезненно вынести за if(x), если понадобится.

    makc3d, 27 Марта 2015

    Комментарии (16)
  10. Python / Говнокод #17826

    −118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def updateLicenseApps( self ):
    	self.block()
    	self.statusbarSetLicenseName();
    	self.applicationGrid.ClearGrid()
    
    	if type( self.licenseEditor ) != type( None ):
    		licparams = self.licenseEditor.licenseApps
    		....
    	for x in xrange( len( licparams ) ):
    		self.applicationGrid.AppendRows( 1, True )
    		self.applicationGrid.SetCellValue( x, 0, licparams[x]["name"] )
    		self.applicationGrid.SetCellValue( x, 1, licparams[x]["startdate"] )

    MMAXIMUM PYTHON

    Anus, 20 Марта 2015

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

    +168

    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
    generator=function(a,q){m=Math;no='';nb=' ';
    rnd=function(r,w){return((m.round(((+new Date)*m.random())%r)||0)+(w||0));};
    ff=function(ff){ma=function(ma1,ma2){return(m.max(ma1,ma2));};return(ma(ma(rnd(rnd(ff)),rnd(rnd(ff))),ma(rnd(rnd(ff)),rnd(rnd(ff)))));};
    sumb=function(x,y){return(String.fromCharCode(rnd(m.abs((y||1)-1),m.abs(x||32))));};
    sor=function(o){return(o.sort(function(){return(0.5-m.random())}));};
    a=Number(a||0);
    q=q||[];
    
    
    
    
    
    
    
    
    
    
    q=function(z){r=0;for(j=0;j<z.length;j++){r+=z[j]};return(r);}(q)?q:(Array(4+4+4+4+4+4+4+4
    
    		+4+4+4		+4+4+4
    
    +1).join('1').split(no));sx=function(p,u){g=q.length;return(Number(q[p>g?g:p])?u:no);};len=Array();for(r=0;r<rnd(a,a*5);r++){e=[
    
    
    
    
    	sumb(958)
    
    	,sumb(97,26)
    	,sumb(945,25)
    
    
    
    	,sumb(97,26)
    	,sumb(97,26)
    	,sumb(97,26)
    	,sumb(97,26)
    
    
    			,sumb(97,26)
    			,sumb(97,26)
    			,sumb(97,26)
    			,sumb(97,26)
    
    
    
    
    
    
    			,sumb(97,26)
    			,sumb(97,26)
    			,sumb(97,26)
    			,sumb(97,26)
    
    
    
    	,sumb(97,26)
    	,sumb(945,25)
    	,sumb(97,26)
    	,sumb(945,25)
    	,sumb(97,26)
    	,sumb(945,25)
    	,sumb(97,26)
    	,sumb(945,25)
    
    
    
    			,sumb(97,26)
    			,sumb(97,26)
    			,sumb(97,26)
    			,sumb(97,26)
    
    
    
    
    	,sumb(223)
    	,sumb(228)
    	,sumb(230)
    	,sumb(231)
    
    
    
    
    
    	,sumb(239)
    	,sumb(240)
    	,sumb(241)
    	,sumb(235)
    
    
    
    
    
    
    
    
    
    	,sumb(246)

    И это было написано ручками, не использовался никакой uglify
    И этот проект мне достался в наследство на новой работе.
    КМП.

    JSMastaRolu, 03 Марта 2015

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