1. Pascal / Говнокод #9940

    +78

    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
    > В какую середину?) он ставиться на свое место. У тебя не верное представление об устройстве данных в памяти. 
    
    procedure TForm1.Button1Click(Sender: TObject);
    type
    parr = ^tarr;
    tarr = array of integer;
    var
    pparr: array of parr;
    begin
    setlength(pparr,1);
    memo1.Lines.Add('first array pointer '+inttostr(integer(@pparr)));
    new(pparr[0]);
    memo1.Lines.Add('second array pointer '+inttostr(integer(pparr[0])));
    memo1.Lines.Add('first element '+inttostr(integer(pparr[0]^)));
    end;
    
    > вывод 
    
    first array pointer 1242664
    second array pointer 10822692
    first element 0

    Человек нашёл единственно верный путь использования двумерных динмассивов. Через указатель на указатель, правда он сам этого не понимает. Авторское форматирование и орфография сохранены.

    Источник:
    http://www.gamedev.ru/projects/forum/?id=161043&page=3#m35

    TarasB, 13 Апреля 2012

    Комментарии (9)
  2. Java / Говнокод #9939

    +78

    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
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line1, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line2, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line3, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line4, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line5, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line6, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line7, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line8, 0, y));
    y+=drawable.getMinimumHeight();
    i++;
    mLoadingTextureMap.put(LINE +i, createFromResource(mLinesAtlas, this, R.drawable.loading_line9, 0, y));

    вот так один паренек загружает в атлас текстуры....
    нафиг циклы вообще нужны (=

    TeknoMatik, 13 Апреля 2012

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

    +157

    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
    $(document).ready(function(){ 
    
            // ...
    
    	var nom1=0;
    	var nom2=0;
    	
    	$("#first").live("hover", function() {
    		$(".blocks1").addClass('activ_block');
    		$(".blocks1 .block1").addClass('activ_block');
    		$(".blocks1 .block2").addClass('activ_block');
    		$(".blocks1 .block2 ul").eq(0).addClass('activ_block');
    		$(".blocks1 .block1 a").eq(0).addClass('active_red');
    		nom1 = 0;
    		
    		$(".blocks").removeClass('activ_block');
    		$(".blocks2").removeClass('activ_block');
    		$(".blocks3").removeClass('activ_block');
    		$(".blocks .blocks ul").removeClass('activ_block');
    		$(".blocks .blocks div").removeClass('activ_block');
    		$(".blocks .block1").removeClass('activ_block');
    		$(".blocks .block2").removeClass('activ_block');
    		$(".blocks .block3").removeClass('activ_block');
    		$(".blocks .block1 a").removeClass('active_reds');
    		$(".blocks .block2 a").removeClass('active_reds');
    	});
    	
    	$(".blocks1 .block1 a").live("click", function() { 
    		nom1 = $(".blocks1 .block1 a").index(this); // id level 2
    		$(".blocks1 .block1 a").removeClass('active_red');
    		$(this).addClass('active_red');
    		$(".blocks1 .block2 ul").removeClass('activ_block');
    		$(".blocks1 .block2").addClass('activ_block');
    		$(".blocks1 .block2 ul").eq((nom1)).addClass('activ_block');	
    	});
    	
    	$(".blocks1 .block2 a").live("hover", function() { 
    		nom2 = $(".blocks1 .block2 ul.activ_block a").index(this); // id level 3
    		
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block3 div div").removeClass('activ_block');
    		$(".blocks1 .block3").addClass('activ_block');
    		$(".blocks1 .block3 div.z").eq((nom1)).addClass('activ_block');
    		$(".blocks1 .block3 div.activ_block div").eq((nom2)).addClass('activ_block');
    
    		$(".blocks1 .block2 a").removeClass('active_reds');
    		$(this).addClass('active_reds');		
    	});
    	
    	$(".blocks1 .block1").hover(function() { 
    		$(".blocks1 .block3").removeClass('activ_block');
    		$(".blocks1 .block2 a").removeClass('active_reds');
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block3 div div").removeClass('activ_block');
    	} , 
    	function() {
    		
    	});
    	
    	$(".blocks1 .block3").hover(function() { 
    	} , 
    	function() {
    		
    	});
    	
    	$(".blocks1 .block2").hover(function() {
    		$(".blocks1 .block3").removeClass('activ_block');
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block2 a").removeClass('active_reds');
    	} , 
    	function() { 
    		if ($(".blocks1 .block3").hasClass('activ_block')) {
    		} else {
    		}
    	});
    
            // ...
    
    });

    Очередной шедевр jQuery-мастеров. Скрипт меню, приведенный код - около трети от общего количества такого же.

    sap1ens, 13 Апреля 2012

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    if (FileAssociation.IsAssociated(".avi") || !FileAssociation.IsAssociated(".avi"))
                {
                    FileAssociation.Associate(".avi", "Flvplayer", ".avi", a, b);
                }

    http://www.cyberforum.ru/csharp-beginners/thread304416.html

    Somov, 12 Апреля 2012

    Комментарии (7)
  5. Java / Говнокод #9936

    +68

    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
    if (seriesOrder == SeriesRenderingOrder.REVERSE) {
                    //render series in reverse order
                    for (int pass = 0; pass < passCount; pass++) {
                        int seriesCount = dataset.getSeriesCount();
                        for (int series = seriesCount - 1; series >= 0; series--) {
                            int firstItem = 0;
                            int lastItem = dataset.getItemCount(series) - 1;
                            if (lastItem == -1) {
                                continue;
                            }
                            if (state.getProcessVisibleItemsOnly()) {
                                int[] itemBounds = RendererUtilities.findLiveItems(
                                        dataset, series, xAxis.getLowerBound(),
                                        xAxis.getUpperBound());
                                firstItem = Math.max(itemBounds[0] - 1, 0);
                                lastItem = Math.min(itemBounds[1] + 1, lastItem);
                            }
                            state.startSeriesPass(dataset, series, firstItem,
                                    lastItem, pass, passCount);
                            for (int item = firstItem; item <= lastItem; item++) {
                                renderer.drawItem(g2, state, dataArea, info,
                                        this, xAxis, yAxis, dataset, series, item,
                                        crosshairState, pass);
                            }
                            state.endSeriesPass(dataset, series, firstItem,
                                    lastItem, pass, passCount);
                        }
                    }
                }
                else {
                    //render series in forward order
                    for (int pass = 0; pass < passCount; pass++) {
                        int seriesCount = dataset.getSeriesCount();
                        for (int series = 0; series < seriesCount; series++) {
                            int firstItem = 0;
                            int lastItem = dataset.getItemCount(series) - 1;
                            if (state.getProcessVisibleItemsOnly()) {
                                int[] itemBounds = RendererUtilities.findLiveItems(
                                        dataset, series, xAxis.getLowerBound(),
                                        xAxis.getUpperBound());
                                firstItem = Math.max(itemBounds[0] - 1, 0);
                                lastItem = Math.min(itemBounds[1] + 1, lastItem);
                            }
                            state.startSeriesPass(dataset, series, firstItem,
                                    lastItem, pass, passCount);
                            for (int item = firstItem; item <= lastItem; item++) {
                                renderer.drawItem(g2, state, dataArea, info,
                                        this, xAxis, yAxis, dataset, series, item,
                                        crosshairState, pass);
                            }
                            state.endSeriesPass(dataset, series, firstItem,
                                    lastItem, pass, passCount);
                        }
                    }
                }

    нашел в jfreechart
    Обе ветки if-else идентичны, только в одной цикл идет от нуля, в другой в обратную сторону.
    Говнокод или нет?

    krige, 12 Апреля 2012

    Комментарии (6)
  6. Python / Говнокод #9935

    −99

    1. 1
    2. 2
    3. 3
    referer = ''
    if 'HTTP_REFERER' in request.META :
        referer = request.META['HTTP_REFERER']

    И подобного кода в проекте тонны...

    Scipetr, 12 Апреля 2012

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

    +959

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public static string ParseUrl(string url, HttpContextBase context = null)
    {
          context.Items[QueryStringField.Tabs.OnlyTabContent] = false;
          ...
    }

    beardeddev, 12 Апреля 2012

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

    +132

    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
    <asp:Label></asp:Label>
    <br>
    <asp:TextBox></asp:TextBox>
    <br>
    <br>
    <br>
    <br></br>
    <asp:Label></asp:Label>
    <br>
    <asp:TextBox></asp:TextBox>
    <br>
    <br>
    <br>
    <br></br>
    <asp:Button />
    <br></br>
    </br>
    </br>
    </br>
    </br>
    </br>
    </br>

    новый сотрудник "наваял" страницу. кто его надоумил использовать закрывающий тег </br>, да еще и по такому странному принципу - неизвестно...

    _vinka, 12 Апреля 2012

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

    +154

    1. 1
    $explodeSize = explode( '-', str_replace( "\x20", '', trim( $sizes[0] ) ) );

    Не, ну надо было додуматься еще и str_replace туда запихать)

    psycho-coder, 12 Апреля 2012

    Комментарии (3)
  10. Java / Говнокод #9931

    +91

    1. 1
    2. 2
    3. 3
    4. 4
    public class HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor
    		extends AbstractPatternNodeVisitor {
    
    	boolean ohYesItHas = false;

    rat4, 12 Апреля 2012

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