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

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

    +134.4

    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
    private void TestWorksheetFunction() 
    {
      ...
     
      Excel.WorksheetFunction wsf = ThisApplication.WorksheetFunction;
      ws.get_Range("Min", Type.Missing).Value2 = wsf.Min(rng, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing);
      ws.get_Range("Max", Type.Missing).Value2 = wsf.Max(rng, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing);
      ws.get_Range("Median", Type.Missing).Value2 = wsf.Median(rng,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing);
      ws.get_Range("Average", Type.Missing).Value2 = wsf.Average(rng, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing);
      ws.get_Range("StDev", Type.Missing).Value2 = wsf.StDev(rng, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing);
    }

    Если вы - разработчик на C#, вам придется привыкнуть к обилию значений Type.Missing в вызовах методов. Поскольку объектную модель Excel писали в расчете на VBA, многие ее методы принимают необязательные параметры - иногда до 30. Используйте либо многочисленные экземпляры значения Type.Missing или указывайте для каждого параметра определенное значение по умолчанию.
    (c) http://www.gotdotnet.ru/LearnDotNet/NETFramework/22054.aspx

    zerkms, 12 Октября 2009

    Комментарии (11)
  3. Python / Говнокод #1916

    −425.7

    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
    def find_where_ball_collides_on_a_wall(
                                           ball_w, ball_z,
                                           ball_wol, ball_zol,
                                           ball_rad,
                                           wall_type,
                                           wall_w1, wall_z1,
                                           wall_w2, wall_z2,
                                           wall_rad):
        toetoadly = ball_rad + wall_rad
        did_collide = False
        New_ball_w = ball_w + ball_wol
        New_ball_z = ball_z + ball_zol
        angle_hit_at = None
        Relate_ball_w = ball_w - wall_w1
        Relate_ball_z = ball_z - wall_z1
        Relate_wall_w2 = wall_w2 - wall_w1
        Relate_wall_z2 = wall_z2 - wall_z1
        arc_tangeriney = arc_tangent_2D(Relate_wall_w2, Relate_wall_z2)
        Rotate_Relate_ball_w, Rotate_Relate_ball_z, Rotate_Relate_wall_w2, Rotate_Relate_wall_z2 = points_rotated_by_angle_2D(((Relate_ball_w, Relate_ball_z), (Relate_wall_w2, Relate_wall_z2)), 0, 0, arc_tangeriney)
        Rotate_ball_wol, Rotate_ball_zol = point_rotated_by_angle_2D(ball_wol, ball_zol, 0, 0, arc_tangeriney)
        Rotate_Relate_ball_collide_w, Rotate_Relate_ball_collide_z, did_hit_weird_line = Find_where_ball_stops_on_line_w(Rotate_Relate_ball_w, Rotate_Relate_ball_z, Rotate_ball_wol, Rotate_ball_zol, ball_rad, 0, wall_rad)
        if Rotate_Relate_ball_w > -toetoadly and Rotate_Relate_ball_w < toetoadly:
         HE_HE_strange_popper_z = Rotate_Relate_ball_z
        else:
         HE_HE_strange_popper_z = Rotate_Relate_ball_collide_z
        Rotate_angle_hit_at = None
        if   HE_HE_strange_popper_z < Rotate_Relate_wall_z2:
           if ball_is_going_towards_point(Rotate_Relate_ball_w, Rotate_Relate_ball_z, Rotate_ball_wol, Rotate_ball_zol, 0, Rotate_Relate_wall_z2):
            p1_touched, p1_collide_w, p1_collide_z, p1_angle_hit_at = find_where_ball_collides_on_another_ball(Rotate_Relate_ball_w, Rotate_Relate_ball_z, Rotate_ball_wol, Rotate_ball_zol, ball_rad, 0, Rotate_Relate_wall_z2, wall_rad)
            if p1_touched:
             Rotate_Relate_ball_collide_w = p1_collide_w
             Rotate_Relate_ball_collide_z = p1_collide_z
             Rotate_angle_hit_at = p1_angle_hit_at
             did_collide = True
        elif HE_HE_strange_popper_z > 0:
           if ball_is_going_towards_point(Rotate_Relate_ball_w, Rotate_Relate_ball_z, Rotate_ball_wol, Rotate_ball_zol, 0, 0):
            p2_touched, p2_collide_w, p2_collide_z, p2_angle_hit_at = find_where_ball_collides_on_another_ball(Rotate_Relate_ball_w, Rotate_Relate_ball_z, Rotate_ball_wol, Rotate_ball_zol, ball_rad, 0, 0, wall_rad)
            if p2_touched:
             Rotate_Relate_ball_collide_w = p2_collide_w
             Rotate_Relate_ball_collide_z = p2_collide_z
             Rotate_angle_hit_at = p2_angle_hit_at
             did_collide = True
        else:
           if did_hit_weird_line:
            did_collide = True
            if Rotate_Relate_ball_collide_w < 0: Rotate_angle_hit_at = 90
            else: Rotate_angle_hit_at = 270
        if did_collide:
         arc_tangeriney_2 = -arc_tangeriney
         angle_hit_at = Rotate_angle_hit_at + arc_tangeriney
         New_ball_w, New_ball_z = point_rotated_by_angle_2D(Rotate_Relate_ball_collide_w, Rotate_Relate_ball_collide_z, 0, 0, arc_tangeriney_2)
         New_ball_w += wall_w1
         New_ball_z += wall_z1
        return did_collide, New_ball_w, New_ball_z, angle_hit_at  #, is_moving_towards

    Пример написания "физики" на python + pygame. Одна из функций. Всего кода - 900+ строк.
    http://www.pygame.org/docs/ref/draw.html -> смотрим комментарий к pygame.draw.circle

    diok, 30 Сентября 2009

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

    +158

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> 
    <head> 
    ...
    <?php
    if( !isset($page['header']['links']) || empty($page['header']['links']) )
    {
    ?>
    <link rel="shortcut icon" href="/sites/all/themes/deco/favicon.ico" type="image/x-icon" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/node/node.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/poll/poll.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/system/defaults.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/system/system-menus.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/user/user.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/cck/theme/content-module.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/filefield/filefield.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/geshifilter/geshifilter.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/quote/quote.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/tagadelic/tagadelic.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/vote_up_down/vote_up_down.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/comment/comment.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/modules/pr_cy/pr_cy.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/modules/openid/openid.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/deco/style.css?t" /> 
    <link type="text/css" rel="stylesheet" media="all" href="/examples/tagnetic/tags.css?t" /> 
    <link type="text/css" rel="stylesheet" media="print" href="/sites/all/themes/deco/print.css?t" /> 
    <script type="text/javascript" src="/misc/jquery.js?t"></script> 
    <script type="text/javascript" src="/misc/drupal.js?t"></script> 
    <script type="text/javascript" src="/files/languages/ru_5530db2a4478b35f94b4da1e2062c5fb.js?t"></script> 
    <script type="text/javascript" src="/sites/all/modules/vote_up_down/ajax_vote_up_down.js?t"></script> 
    <script type="text/javascript" src="/sites/all/themes/deco/jquery.tagnetic.js?t"></script> 
    <script type="text/javascript" src="/sites/all/themes/deco/jquery.tagnetic.settings.js?t"></script> 
    <script type="text/javascript" src="/modules/comment/comment.js?t"></script> 
    <script type="text/javascript" src="/misc/textarea.js?t"></script> 
    <script type="text/javascript" src="/sites/all/modules/pr_cy/pr_cy.js?t"></script> 
    <script type="text/javascript" src="/modules/openid/openid.js?t"></script>
    <?php
    }
    else
    {
    echo $page['header']['links'];
    }
    ?>

    Я, конечно, понимаю, что это необходимо, но такие хеды у меня всегда вызывают улыбку)

    greevex, 12 Сентября 2009

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

    +163.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    function get_user() {
    	// функция перенесена в secure.func.php
    	$user = get_user();
    	return $user;
    }
    ?>

    Shock, 09 Сентября 2009

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

    −149

    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
    1С 8.1
    Вот как надо таблицу значений очищать..))
    
    	ТЗДанные.Очистить();
    	Пока 1 = 1 Цикл
    		Если ТЗДанные.Колонки.Количество() = 0 Тогда
    			Прервать;
    		КонецЕсли;
    		ТЗДанные.Колонки.Удалить(0);
    	КонецЦикла;
    
    И ещё бы контрольный... была бы сказка....
    ТЗДанные =  Новый ТаблицаЗначений;

    ValeraVV, 09 Сентября 2009

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

    +149.8

    1. 1
    2. 2
    3. 3
    4. 4
    //простите меня за эти строки, но просто альтернативный метод swapNode (нативный только в IE)
    //удаляет оригинальный нод и его приходится заново по id искать :(
    document.getElementById(element['drag'].id).style.border = "2px solid gray";
    document.getElementById(element['acce'].id).style.border = "2px solid gray";

    :))))
    каммент жжот

    мой старый JS-быдлокод

    danilissimus, 06 Сентября 2009

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

    +157.2

    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
    function validate($allsubmitted){
    	$massage="";
    	$passwords= $allsubmitted["pword"];
    	$firstpass= $passwords[0];
    	$secondpass= $passwords[1];
    	$username= $allsubmitted["name"];
    	if ($firstpass!= $secondpass){
    		$massage=$massage."Пароль верен<br>";
    	} else {
    		$massage=$massage."Не правильно введен пароль";
    	}
    	if (strlen($username)<5 || strlen($username)>50){
    		$massage= $massage."Ник должен быть от 5 до 50 символов";
    	}
    	if ($massage==""){
    		$massage= "clear";
    	}
    	return $massage;
    }
    validate($_POST);
    	if (validate($_POST)=="clear"){
    		echo "Спасибо за регистрацию!";
    	} else {
    		echo "У Вас возникли проблемы с регистрацией!";
    	}

    "***: Привет всем, http://www.govnokod.com/1488 подскжите что не парвильно в этом говнокоде? вбивал данные и правильные и не правильные, результат один: У Вас возникли проблемы с регистрацией!"

    мы все учились понемногу ©

    striker, 04 Сентября 2009

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

    +157.2

    1. 1
    if(preg_match("/\.[gjpi][ipnc][fgo]/i", $_SERVER['REQUEST_URI'])) exit;

    gorvic, 28 Августа 2009

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

    +8.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
    // файлToolStripMenuItem
    			// 
    			this->файлToolStripMenuItem->Name = L"файлToolStripMenuItem";
    			this->файлToolStripMenuItem->Size = System::Drawing::Size(54, 22);
    			this->файлToolStripMenuItem->Text = L"Файл";
    			this->файлToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::файлToolStripMenuItem_Click);
    			// 
    			// Form1
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(8, 16);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(292, 260);
    			this->Controls->Add(this->button1);
    			this->Controls->Add(this->menuStrip1);
    			this->MainMenuStrip = this->menuStrip1;
    			this->Name = L"Form1";
    			this->Text = L"Form1";
    			this->menuStrip1->ResumeLayout(false);
    			this->menuStrip1->PerformLayout();
    			this->ResumeLayout(false);
    			this->PerformLayout();
    
    		}
    #pragma endregion
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    			 }
    	private: System::Void меню1ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
    			 }
    private: System::Void файлToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
    		 }
    private: System::Void выходToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
    		 }
    };

    MS VS 2005 - MS VS 2008 это спокойно компилирует, да ещё и сама код генерирует, когда на формочке рисуешь русское меню.
    Этот компилятор определённо соответсвует стандарту С++.

    Говногость, 18 Августа 2009

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

    +12.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
    class TIntArray
    {
    	char buf[10000];
    	int operator[](int Index);
    };
    
    ...
    
    void main()
    {
    	TIntArray a;
    	...
    	memset(&a[1],0.0f,sizeof(TIntArray));
    	...
    };

    Меня этот кот довёл до слёз...

    Говногость, 18 Августа 2009

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