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

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

    +131

    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
    string[] strArray1 = new string[6];
              string[] strArray2 = strArray1;
              int index1 = 0;
              DateTime now = DateTime.Now;
              string str1 = now.Month.ToString();
              strArray2[index1] = str1;
              string[] strArray3 = strArray1;
              int index2 = 1;
              now = DateTime.Now;
              string str2 = now.Day.ToString();
              strArray3[index2] = str2;
              string[] strArray4 = strArray1;
              int index3 = 2;
              now = DateTime.Now;
              string str3 = now.Year.ToString();
              strArray4[index3] = str3;
              string[] strArray5 = strArray1;
              int index4 = 3;
              now = DateTime.Now;
              string str4 = now.Hour.ToString();
              strArray5[index4] = str4;
              string[] strArray6 = strArray1;
              int index5 = 4;
              now = DateTime.Now;
              string str5 = now.Minute.ToString();
              strArray6[index5] = str5;
              string[] strArray7 = strArray1;
              int index6 = 5;
              now = DateTime.Now;
              string str6 = now.Second.ToString();
              strArray7[index6] = str6;
              Program.zipName = string.Concat(strArray1);

    jabacrack, 13 Ноября 2011

    Комментарии (26)
  3. Pascal / Говнокод #8434

    +92

    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
    Program gg;
    Uses crt;
    Var a,b,c,d,k,m,n,p,q:integer;
    Begin
    b:=a mod 100000;
    c:=a mod 1000;
    c:=c div 100;
    d:=a mod 10;
    d:=d div 10000;
    K:=b+c+d;
    m:=a mod 10000;
    m:=m div 10;
    n:=a mod 100;
    n:=n div 1000;
    p:=a div 100000;
    q:=m+n+p; 
    // И так далее...

    http://otvet.mail.ru/question/66333085/?point=2
    Ответы.Маил.ру
    nuff said.

    Govnocoder#0xFF, 06 Ноября 2011

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

    +147

    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
    <HTML>
    <HEAD>
      <META content='text/html; charset=utf-8' http-equiv=Content-Type>
      <META name="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
      <META name="Cache-Control" content="no-store, no-cache, must-revalidate">
      <META name="Cache-Control" content="post-check=0, pre-check=0">
      <META name="Pragma" content="no-cache">
      <LINK href='style.css' rel=stylesheet type=text/css>
      <SCRIPT  type="text/javaSCRIPT" src="md5.js"></SCRIPT>
    
    </HEAD>
    <BODY>
    <SCRIPT language=javascript>
      function logins(){
        var key = hex_md5(document.authentication.chalangeack.value + document.authentication.password.value.substring(0,15) );
        document.authentication.password.value = key;
        }
    </SCRIPT>
    <H1>МФТИ-Телеком</H1>
    <TABLE align=center border=0 borderColor=#060102 cellSpacing=2 cellPading=2 width=100%><FORM name=authentication action='/bin/login.cgi' autocomplete=off>
      <TR><TD align=center height=20></TD></TR>
        <TR><TD align=center><INPUT type=hidden name=chalangeack value=2a08933e327a7877ec91efd746076b48>
            &nbsp; <STRONG>Логин: </STRONG> &nbsp;<INPUT type=text name=login size=20>&nbsp;&nbsp; <STRONG>Пароль: </STRONG> &nbsp;<INPUT type=password name=password size=20>&nbsp;
    
          </TD>
        </TR>
        <TR><TD align=center height=10></TD></TR>    
        <TR><TD align=center>&nbsp; <STRONG>Запомнить этот компьютер: </STRONG> &nbsp;<INPUT type=checkbox name=memorize checked>&nbsp;</TD></TR>
        <TR><TD align=center><INPUT type=submit value='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Войти &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' onclick="logins()" width=400></TD></TR>
      </FORM></TABLE>
      
    <TABLE align=center border=0 borderColor=#060102 cellSpacing=2 cellPading=2 width=100%><FORM  action='/bin/logout.cgi' autocomplete=off>  
        <TR><TD align=center><INPUT type=submit value='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Закрыть доступ в Интернет для этого компьютера. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' width=400></TD></TR>   
    
    </FORM></TABLE>  
    
    <ADDRESS>&copy;&nbsp;2010 <a href="http://www.mipt-telecom.ru/">МФТИ-Телеком</a></ADDRESS>
    
    
    
    </BODY></HTML>

    2011 год на дворе блин

    blah, 03 Ноября 2011

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

    +153

    1. 1
    http://www.youtube.com/watch?v=vSp1Qc11tsM

    Сегодня я вам открою глаза, в поведении окружающих людей есть какой-то говнокод в ДНК. Они все ведут себя совершенно не нормально. (Демонстрация доступна по ссылке). С ними что-то не так. Мы с вами должны решить, как это исправить. Самое время выпустить патч к ДНК людей.
    Самым простым способом является разработка биологического вируса, который будет внедрятся в ДНК клеток людей и патчить их в автоматическом режиме.
    Объединим все силы. Так мы спасём весь мир. Потомки нас поблагодарят и никогда не забудут.


    AnimeGovno-_-
    Пароль: ag
    lucidfoxGovno
    Пароль: lg или lf

    AnimeGovno-_-, 29 Октября 2011

    Комментарии (26)
  6. JavaScript / Говнокод #8294

    +155

    1. 1
    2. 2
    3. 3
    $(".rent_table._rent_list tbody input").each(function() {
                            $(this).attr("checked", "checked");
     });

    $(".rent_table._rent_list tbody input"). attr("checked", "checked");

    PEOPLE WHY Y NO RTFM?

    PS этот each отрабатывался на сотне inputов, чем вешал ie6

    Kakashulenka, 25 Октября 2011

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

    +128

    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
    public class BusinessUnitDetail
    {
        public string Description { get; set; }
    }
    
    ...
    
    [TestMethod]
    public void DescriptionTest()
    {
        BusinessUnitDetail target = new BusinessUnitDetail(); 
        string expected = "test test test\n test"; 
        string actual;
        target.Description = expected;
        actual = target.Description;
        Assert.AreEqual(expected, actual);
    }

    беспощадная проверка всего и вся

    Eugene, 25 Октября 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public int blablabla(){
    ...
    if(true)return;
    ...
    }

    Коллега поделился найденным в проекте... кто-то вместо того чтоб закомментить десяток строк кода так вот вышел из метода.

    dexif, 03 Октября 2011

    Комментарии (26)
  9. Pascal / Говнокод #7977

    +102

    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
    const n = 50;
    type vec = array [1..n*4] of system.word;
    function vprod(const a, b: vec): Cardinal;
      var i: longInt;
      begin
        result := 0;
        for i := 1 to high(vec) do inc(result, a[i] * b[i]);
      end;
    function vprod_asm1(const a, b: vec): Cardinal; assembler;
      asm
         push ebx
         push ecx
         push edx
         push esi
         push edi
         xor ebx, ebx
         mov ecx, n*4
         mov esi, a
         mov edi, b
         xor eax, eax
         cld
      @@l:
         mov   ax, word ptr [esi]
         lea   esi, [esi+2]
         mul   word ptr [edi]
         lea   edi, [edi+2]
         shl   edx, 16
         mov   dx, ax
         add   ebx, edx
         dec   ecx
         jne   @@l
         mov   eax, ebx
         pop edi
         pop esi
         pop edx
         pop ecx
         pop ebx
      end;
    function vprod_asm2(const a, b: vec): Cardinal; assembler;
      asm
        push ebx
        push ecx
        push edx
        push esi
        push edi
        xor ebx, ebx
        mov ecx, n*4
        mov esi, a
        mov edi, b
        xor eax, eax
        cld
      @@l:
        lodsw
        movzx   edx, WORD PTR [edi]
        imul    edx
        lea     edi, [edi+2]
        add     ebx, eax
        loop  @@l
        mov   eax, ebx
        pop edi
        pop esi
        pop edx
        pop ecx
        pop ebx
      end;
    function vprod_mmx (const a, b: vec): Cardinal; assembler;
      var muls: record l, h: Cardinal end;
      asm
        push ebx
        push ecx
        push esi
        push edi
        mov ecx, n
        mov esi, a
        mov edi, b
        xor eax, eax
        lea     ebx, muls
      @@l:
        db $0F,$6F,$06  // movq    mm0, [esi]
        db $0F,$F5,$07  // pmaddwd mm0, [edi]
        lea     esi, [esi+8]
        db $0F,$7F,$03  // movq    [ebx], mm0
        lea     edi, [edi+8]
        add     eax, [ebx]
        add     eax, [ebx+4]
        loop    @@l
        db $0F,$77 // emms
        pop edi
        pop esi
        pop ecx
        pop ebx
      end;

    По просьбам трудящихся публикую модифицированную версию примера MMXTEST.PAS из комплекта компилятора TMT Pascal. Программа находит скалярное произведение двух векторов. Далее должен быть основной блок с фрагментами типа for i := 1 to 100000 do vprod(a, b); , которые я не стал публиковать ввиду ограничений. Функция vprod_asm1 — почти оригинальный код TMT, функция vprod_asm2 — мой оптимизированный вариант. Результаты запуска на двух машинах (таймер получал по RDTSC):
    AMD K6-2-333 МГц, FSB 66 МГц.

    Delphi7:
    Pascal = 0.550 sec.
    Asm x86 (original) = 1.034 sec.
    Asm x86 (optimized) = 0.490 sec.
    Asm MMX = 0.130 sec.
    С директивой $O- первый результат 0.853 sec.
    Замена loop на dec ecx + jne увеличивает результаты на 0,015 c.

    FPC:
    Pascal = 1.387 sec.
    Asm x86 (original) = 1.199 sec.
    Asm x86 (optimized) = 0.510 sec.
    Asm MMX = 0.124 sec.

    TMT:
    Pascal = 0.914 sec.
    Asm x86 (original) = 1.037 sec.
    Asm x86 (optimized) = 0.494 sec.
    Asm MMX = 0.126 sec.

    VP:
    Pascal = 0.520 sec.
    Asm x86 (original) = 1.033 sec.
    Asm x86 (optimized) = 0.493 sec.
    Asm MMX = 0.146 sec.
    С директивами $Q+,R+ первый результат 1.032 sec.
    С директивой $Speed- первый результат 0.731 sec.

    ------------------------------
    Celeron 1,86 ГГц, FSB 533 МГц.

    Delphi7:
    Pascal = 0.025 sec.
    Asm x86 (original) = 0.091 sec.
    Asm x86 (optimized) = 0.082 sec.
    Asm MMX = 0.044 sec.

    TMT:
    Pascal = 0.109 sec.
    Asm x86 (original) = 0.087 sec.
    Asm x86 (optimized) = 0.079 sec.
    Asm MMX = 0.042 sec.

    inkanus-gray, 25 Сентября 2011

    Комментарии (26)
  10. Perl / Говнокод #7729

    −180

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    my $success=0;
    my $error=0;
    
    ...        
    
    my $result_mail=MailUtils::attach_mail(-to=>$share_email,-message=>$message,-subject=>'Новый рецепт',-src_enc => $Cfg::encoding,-attach=>\@att) or die 'no';
    unlink($file) if $result_mail;
    $error=1 if !$result_mail;
    
    $success=1 if $error==0;
    print CGI::redirect($Cfg::url{root}."/woman/recipes/share/?success=$success&error=$error");

    Используем две переменных для статуса, видимо, для надёжности

    Suor, 01 Сентября 2011

    Комментарии (26)
  11. Java / Говнокод #7549

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int[] indexes = list.getSelectedIndices();
            if (indexes.length == 0) {
                indexes = getAllIndexes();
            }
            if (indexes.length == 0) {
                return false;
            }

    индуссы атакуют

    Dexter, 15 Августа 2011

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