1. JavaScript / Говнокод #3120

    +171

    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
    function showResults()
    {var i=0;if(document.getElementById('choice12').checked==true)
    {i++;}
    if(document.getElementById('choice23').checked==true)
    {i++;}
    if((document.getElementById('choice31').checked==true)&&(document.getElementById('choice32').checked==false)&&(document.getElementById('choice33').checked==true)&&(document.getElementById('choice34').checked==false))
    {i++;}
    if((document.getElementById('choice41').checked==false)&&(document.getElementById('choice42').checked==true)&&(document.getElementById('choice43').checked==true)&&(document.getElementById('choice44').checked==false))
    {i++;}
    if(document.getElementById('text5').value=='type')
    {i++;}
    if(document.getElementById('choice62').checked==true)
    {i++;}
    if(document.getElementById('text7').value=='alt')
    {i++;}
    if((document.getElementById('choice81').checked==false)&&(document.getElementById('choice82').checked==true)&&(document.getElementById('choice83').checked==false)&&(document.getElementById('choice84').checked==true))
    {i++;}
    if(document.getElementById('text9').value=='target')
    {i++;}
    if((document.getElementById('choice101').checked==true)&&(document.getElementById('choice102').checked==false)&&(document.getElementById('choice103').checked==false)&&(document.getElementById('choice104').checked==true))
    {i++;}
    if(document.getElementById('text11').value=='<input>')
    {i++;}
    if(document.getElementById('choice123').checked==true)
    {i++;}
    if((document.getElementById('choice131').checked==false)&&(document.getElementById('choice132').checked==true)&&(document.getElementById('choice133').checked==false)&&(document.getElementById('choice134').checked==true))
    {i++;}
    if(document.getElementById('text14').value=='action')
    {i++;}
    if((document.getElementById('choice151').checked==false)&&(document.getElementById('choice152').checked==true)&&(document.getElementById('choice153').checked==true)&&(document.getElementById('choice154').checked==true))
    {i++;}
    if((document.getElementById('choice161').checked==false)&&(document.getElementById('choice162').checked==false)&&(document.getElementById('choice163').checked==true)&&(document.getElementById('choice164').checked==true))
    {i++;}
    if(document.getElementById('choice174').checked==true)
    {i++;}
    if(document.getElementById('choice182').checked==true)
    {i++;}
    if(document.getElementById('text19').value=='background')
    {i++;}
    if(document.getElementById('choice201').checked==true)
    {i++;}
    document.getElementById('questions').style.display='none';document.getElementById('results').style.display='block';document.getElementById('results').innerHTML='<h2 style="color: #377">Результаты теста</h2>\n<p>Количество правильных ответов: <strong>'+i+'</strong>.</p>';if(i>=18)
    {document.getElementById('results').innerHTML+='<p style="color: #096">Поздравляем с отличным результатом!</p>\n<p style="color: #f00">Оценка 5</p>';}
    if((i<18)&&(i>=14))
    {document.getElementById('results').innerHTML+='<p style="color: #096">Поздравляем с хорошим результатом!</p>\n<p style="color: #f00">Оценка 4</p>';}
    if((i<14)&&(i>=6))
    {document.getElementById('results').innerHTML+='<p style="color: #096">Результат удовлетворительный!</p>\n<p style="color: #f00">Оценка 3</p>';}
    if(i<=6)
    {document.getElementById('results').innerHTML+='<p style="color: #c00">К сожалению, результат очень плохой!!!</p>\n<p style="color: #f00">Оценка 2</p>';}
    document.getElementById('results').innerHTML+='<p class="buttons"> <input type="button" value="Подсказать ответы" onclick= "showQuestions();getHelp();" /></p>';}

    Тест на знание html. Мало того, что говнокод, так там и ответы ещё неправильные. Источник — http://www.cssblok.ru/test/test1.html

    P.S. копирайт снизу на том сайте ("Школьная веб-студия , 2007") всё оправдывает.

    Infamous, 27 Апреля 2010

    Комментарии (24)
  2. PHP / Говнокод #3119

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    //выяснение адреса сайта
     define( "SITE_URL", "http://" . str_replace( "&#045;", "-", preg_replace('#^(.*)/[^/]*#', '\\1', $_SERVER['HTTP_HOST']).'/admin/' ) );
     define( "SITE_EDIT_URL", str_replace( "&#045;", "-", preg_replace('#^(.*)/[^/]*#', '\\1', $_SERVER['HTTP_HOST']) ) ); //.$_SERVER['REQUEST_URI'])."/" ) );
     define( "SITE_EDIT_URL_HTTP", "http://" . str_replace( "&#045;", "-", preg_replace('#^(.*)/[^/]*#', '\\1', $_SERVER['HTTP_HOST'])."/" ) ); //.$_SERVER['REQUEST_URI'])."/" ) );

    xynta, 27 Апреля 2010

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

    +163

    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
    require_once(HTML2PS_DIR.'utils_array.php');
    require_once(HTML2PS_DIR.'utils_graphic.php');
    require_once(HTML2PS_DIR.'utils_url.php');
    require_once(HTML2PS_DIR.'utils_text.php');
    require_once(HTML2PS_DIR.'utils_units.php');
    require_once(HTML2PS_DIR.'utils_number.php');
    require_once(HTML2PS_DIR.'value.color.php');
    require_once(HTML2PS_DIR.'config.parse.php');
    require_once(HTML2PS_DIR.'flow_context.class.inc.php');
    require_once(HTML2PS_DIR.'flow_viewport.class.inc.php');
    require_once(HTML2PS_DIR.'output._interface.class.php');
    require_once(HTML2PS_DIR.'output._generic.class.php');
    require_once(HTML2PS_DIR.'output._generic.pdf.class.php');
    require_once(HTML2PS_DIR.'output._generic.ps.class.php');
    require_once(HTML2PS_DIR.'output.pdflib.old.class.php');
    require_once(HTML2PS_DIR.'output.pdflib.1.6.class.php');
    require_once(HTML2PS_DIR.'output.fpdf.class.php');
    require_once(HTML2PS_DIR.'output.fastps.class.php');
    require_once(HTML2PS_DIR.'output.fastps.l2.class.php');
    require_once(HTML2PS_DIR.'output.png.class.php');
    // require_once(HTML2PS_DIR.'output.pcl.class.php');
    
    require_once(HTML2PS_DIR.'stubs.common.inc.php');
    require_once(HTML2PS_DIR.'media.layout.inc.php');
    require_once(HTML2PS_DIR.'box.php');
    require_once(HTML2PS_DIR.'box.generic.php');
    require_once(HTML2PS_DIR.'box.generic.formatted.php');
    require_once(HTML2PS_DIR.'box.container.php');
    require_once(HTML2PS_DIR.'box.generic.inline.php');
    require_once(HTML2PS_DIR.'box.inline.php');
    require_once(HTML2PS_DIR.'box.inline.control.php');
    require_once(HTML2PS_DIR.'font.class.php');
    require_once(HTML2PS_DIR.'font_factory.class.php');
    
    require_once(HTML2PS_DIR.'box.br.php');
    require_once(HTML2PS_DIR.'box.block.php');
    require_once(HTML2PS_DIR.'box.page.php');
    require_once(HTML2PS_DIR.'box.page.margin.class.php');
    require_once(HTML2PS_DIR.'box.body.php');
    require_once(HTML2PS_DIR.'box.block.inline.php');
    require_once(HTML2PS_DIR.'box.button.php');
    require_once(HTML2PS_DIR.'box.button.submit.php');
    require_once(HTML2PS_DIR.'box.button.reset.php');
    require_once(HTML2PS_DIR.'box.checkbutton.php');
    require_once(HTML2PS_DIR.'box.form.php');
    require_once(HTML2PS_DIR.'box.frame.php');
    require_once(HTML2PS_DIR.'box.iframe.php');
    require_once(HTML2PS_DIR.'box.input.text.php');
    require_once(HTML2PS_DIR.'box.input.textarea.php');
    require_once(HTML2PS_DIR.'box.input.password.php');
    require_once(HTML2PS_DIR.'box.legend.php');
    require_once(HTML2PS_DIR.'box.list-item.php');
    require_once(HTML2PS_DIR.'box.null.php');
    require_once(HTML2PS_DIR.'box.radiobutton.php');
    require_once(HTML2PS_DIR.'box.select.php');
    require_once(HTML2PS_DIR.'box.table.php');
    require_once(HTML2PS_DIR.'box.table.cell.php');
    require_once(HTML2PS_DIR.'box.table.cell.fake.php');
    require_once(HTML2PS_DIR.'box.table.row.php');
    require_once(HTML2PS_DIR.'box.table.section.php');
    
    require_once(HTML2PS_DIR.'box.text.php');
    require_once(HTML2PS_DIR.'box.text.string.php');
    require_once(HTML2PS_DIR.'box.field.pageno.php');
    require_once(HTML2PS_DIR.'box.field.pages.php');
    ........
    и так до 284й строки включительно...

    в самописном модуле к Drupal нашел сий шедевр

    kemerov4anin, 27 Апреля 2010

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

    +135

    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
    // Дефолтный конструктор:
     public Random() 
            : this(Environment.TickCount) {
          }
    
    // Перенаправляемся сюда...
        public Random(int Seed) {
            int ii;
            int mj, mk;
        
            //Initialize our Seed array.
            //This algorithm comes from Numerical Recipes in C (2nd Ed.)
            mj = MSEED - Math.Abs(Seed);

    Очередной "изящный" говнокод в исходниках .NET.
    Говнокод в том, что Environment.TickCount через каждые 24,9 дней возвращает Int32.MinValue, который скормится Math.Abs, который резонно выкинет исключение OverflowException. Вроде бы мелочь, но... Вспомним теперь падение .NET-софта на Лондонской бирже и последующие миллионные убытки. Для загруженных non-stop-серверов непростительно. Хотя в принципе Microsoft аптаймами и не славился :)

    cfdev, 27 Апреля 2010

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

    +111

    1. 1
    2. 2
    3. 3
    4. 4
    try {} finally {
             retVal = NativeMethods.CreateProcess ( /* ... */ );
            /* ... и дальше остальной код... */
    }

    Откопано в исходниках .NET 2.0 Framework, так реализуется Process.Start. Не очень понял замысла. Нашёл, что finally обязательно продолжит исполняться, если во время его исполнения на поток ВНЕЗАПНО вызван метод Abort. Т.е. если потоку, создающему процесс, сделать аборт, процесс всё равно упорно создаcтся и запустится (чистки памяти я не нашёл). В чём смысл? Так можно было бы тогда всякий код оборачивать в finally... Ящитаю, что это всё костыли вокруг говноархитектуры. Не зря в Яве Thread.stop сделали deprecated. А вы как считаете?

    cfdev, 27 Апреля 2010

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

    +924

    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
    // придерживаюсь оригинала как могу
    // код как был:
    
    static char message_buf[64000];  // must be actually 64K == 64<<10 == 65536
    
    class MessageHandler {
       // [...]
       char *header;         // point into the message_buf
       char *content;
       std::list<char *> tlvs; // pointers to the elements of the message
    };
    
    // я пожаловался - пообещали исправить в новой версии по ходу реализации новой фичи.
    
    // новый "усовершенствованый" код, с "поддержкой" многопоточности.
    
    static char message_buf[100][65000];  // 100 == max threads, buffer size now is much closer to the standard
    
    class MessageHandler {
       // [...]
       int threadId;             // index into the new message_buf[]
       char *header;          // point into the message_buf[threadId]
       char *content;
       std::vector<char *> tlvs; // same, but in std::vector because it is "faster"
    };

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

    Dummy00001, 26 Апреля 2010

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

    +911

    1. 1
    case UP : o > 0 ? o-- : o = FIELD_SIZE - 1; break;

    Друг скинул в аську, попросил перевести в if-ную форму)))
    Не знаю где он это откопал)))

    k06a, 26 Апреля 2010

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

    +143

    1. 1
    !<>

    Просто очень короткий говнокод:
    Читается как не больше и не меньше.
    Конечно, выдумано, но тем не менее :)

    wvxvw, 26 Апреля 2010

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

    +144

    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
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    #define chislo int
    #define osnovnoe main
    #define nachalo {
    #define konec }
    #define chitaj scanf
    #define pishi printf
    #define CS ;
    #define verni return
    #define noleg 0
    #define strochechka string
    #define naruzhu <<
    #define vnutr >>
    #define vozmi cin
    #define daj cout
    #define esli if
    #define PISCS endl
    #define eshe &&
    #define cicle for
    #define poka while
    #define simvol char
    #define vozmis getchar()
    #define shlak EOF
    #define SPS '\n'
    #define vozmozhno ||
    #define eshe &&
    #define inache else
    chislo aasda[1000] CS
    chislo chistka()
    nachalo
    	chislo i CS
    	cicle(i=noleg CS i<1000 CS i++)
    		aasda[i]=noleg CS
    	verni aasda[noleg] CS
    konec
    chislo mnozh(chislo k)
    nachalo
    	chislo i CS
    	cicle(i=noleg+2 CS i<k CS i++)
    			esli(k%i==0) nachalo aasda[i]++ CS verni mnozh(k/i)+1 CS konec
    	aasda[k]++ CS
    	verni 1 CS
    konec
    chislo krutilka(chislo k)
    nachalo
    	esli(k==1) verni 1 CS
    	verni k*krutilka(k-1) CS
    konec
    chislo osnovnoe()
    nachalo
    	chislo colm, ppm=1, k, i CS
    	vozmi vnutr k CS
    	chistka() CS
    	colm=mnozh(k) CS
    	cicle(i=noleg CS i<=1000 CS i++)
    		esli(aasda[i]>0) ppm*=krutilka(aasda[i]) CS
    	daj naruzhu krutilka(colm)/ppm naruzhu PISCS CS				
    	verni noleg CS
    konec

    Так мы писали задачи на Турнире Архимеда=)

    Novi4oK, 26 Апреля 2010

    Комментарии (33)
  10. PHP / Говнокод #3111

    +165

    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
    function month($n){
    	switch ($n) {
    		case  1: $m = "сiчнi"  ; break;
    		case  2: $m = "лютому"   ; break;    
    		case  3: $m = "березнi"; break;                                                            
    		case  4: $m = "квiтнi" ; break;
    		case  5: $m = "травнi" ; break;
    		case  6: $m = "червнi"  ; break;
    		case  7: $m = "липнi" ; break;
    		case  8: $m = "серпнi" ; break;
    		case  9: $m = "вереснi"; break;
    		case 10: $m = "жовтнi" ; break;
    		case 11: $m = "листопадi"; break;
    		case 12: $m = "груднi" ; break;
    	}
    return $m;
    }
    function month2($n)
    {
    switch ($n) 
    	{
    		case  1: $m = "сiчень"  ; break;
    		case  2: $m = "лютий"   ; break;    
    		case  3: $m = "березень"; break;                                                            
    		case  4: $m = "квiтень" ; break;
    		case  5: $m = "травень" ; break;
    		case  6: $m = "червень"  ; break;
    		case  7: $m = "липень" ; break;
    		case  8: $m = "серпень" ; break;
    		case  9: $m = "вересень"; break;
    		case 10: $m = "жовтень" ; break;
    		case 11: $m = "листопад"; break;
    		case 12: $m = "грудень" ; break;
    	}
    return $m;
    }
    /*... всяко разно ...*/
    if($month==1)$month="сiчнi";
    if($month==2)$month="лютому";
    if($month==3)$month="березнi";
    if($month==4)$month="квiтнi";
    if($month==5)$month="травнi";
    if($month==6)$month="червнi";
    if($month==7)$month="липнi";
    if($month==8)$month="серпнi";
    if($month==9)$month="вереснi";
    if($month==10)$month="жовтнi";
    if($month==11)$month="листопадi";
    if($month==12)$month="груднi";
    // дебажный комментарий тут был
    if($month1==1)$month1="сiчнi";
    if($month1==2)$month1="лютому";
    if($month1==3)$month1="березнi";
    if($month1==4)$month1="квiтнi";
    if($month1==5)$month1="травнi";
    if($month1==6)$month1="червнi";
    if($month1==7)$month1="липнi";
    if($month1==8)$month1="серпнi";
    if($month1==9)$month1="вереснi";
    if($month1==10)$month1="жовтнi";
    if($month1==11)$month1="листопадi";
    if($month1==12)$month1="груднi";
    /*...еще немного...*/
    if($month==1)$month1="сiчнi";
    if($month==2)$month1="лютому";
    if($month==3)$month1="березнi";
    if($month==4)$month1="квiтнi";
    if($month==5)$month1="травнi";
    if($month==6)$month1="червнi";
    if($month==7)$month1="липнi";
    if($month==8)$month1="серпнi";
    if($month==9)$month1="вереснi";
    if($month==10)$month1="жовтнi";
    if($month==11)$month1="листопадi";
    if($month==12)$month1="груднi";

    Werdn, 26 Апреля 2010

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