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

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

    +122

    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
    <?php
    $pictures =new Array(4);
    pictures[0]="1.jpg";
    pictures[1]="2.png";
    pictures[2]="3.jpg";
    pictures[3]="4.jpg";
    global $i=0;
    function Next(){
    if($i==3)
    $i=0;
    else
    $i++;
    document.getElementById('pic').setAttribute("src", picture[i]);
    }
    function Prev(){
    if($i==0)
    $i=3;
    else
    $i--;
    document.getElementById('pic').setAttribute("src", picture[i]);
    }
    ?>

    Отличный салат.

    cthulhu25, 22 Апреля 2012

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

    +77

    1. 1
    2. 2
    Superclass s = new Subclass();
    ((Subclass)s).useSubclassMethod();

    Чудеса полиморфизма.

    thePooh, 11 Апреля 2012

    Комментарии (14)
  4. Python / Говнокод #9908

    −100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def del_space_both(t):
            return del_space_end(del_space_begin(t))
    
    def del_space_begin(text):
            if len(text):
                    while text[:1] == ' ': text = text[1:]
            return text
     
    def del_space_end(text):
            if len(text):
                    while text[-1:] == ' ': text = text[:-1]
            return text

    религия не позволяет использовать strip(), lstrip() и rstrip

    lebutirate, 09 Апреля 2012

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

    +963

    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
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    public partial class Form1 : Form  
        {
            public Form1()
            {
                InitializeComponent();
            }
           
            public void label1_Click(object sender, EventArgs e)
            {
     
            }
     
            public void button1_Click(object sender, EventArgs e)
            {
                label1.Text = "неправильно, вы проиграли";
                button1.Dispose();
                button2.Dispose();
                button3.Dispose();
                button4.Dispose();
                this.BackColor = System.Drawing.Color.Red;
            }
     
            public void button2_Click(object sender, EventArgs e)
            {
               
                label1.Text = "неправильно, вы проиграли";
                button1.Dispose();
                button2.Dispose();
                button3.Dispose();
                button4.Dispose();
                this.BackColor = System.Drawing.Color.Red;
            }
     
            public void button4_Click(object sender, EventArgs e)
            {
                label1.Text = "неправильно, вы проиграли";
                button1.Dispose();
                button2.Dispose();
                button3.Dispose();
                button4.Dispose();
                this.BackColor = System.Drawing.Color.Red;
            }
     
            public void button3_Click(object sender, EventArgs e)
            {
                label1.Text = "правильно";
                button1.Dispose();
                button2.Dispose();
                button3.Dispose();
                button4.Dispose();
                btn.Dispose();
                this.BackColor = System.Drawing.Color.Green;
                btn = new Button();
                btn.Text = "Дальше";
                btn.Top = 200;
                btn.Left = 360;
                btn.Height = 165;
                btn.Width = 269;
                btn.Click += new EventHandler(Press_ok);
                this.Controls.Add(btn);
                
            }
                public void Press_ok (object sender, EventArgs e)
            {
                this.BackColor = System.Drawing.Color.White;
                    btn.Dispose();
                    label1.Text = "сколько должно быть зубов у человека?";
                    button1 = new Button();
                    button1.Text = "16";
                    button1.Height = 23;
                    button1.Width = 142;
                    button1.Left = 272;
                    button1.Top = 414;
                    button1.Click += new EventHandler(Press_1);
                    this.Controls.Add(button1);
              
                    
     
                    button2 = new Button();
                    button2.Text = "32";
                    button2.Height = 23;
                    button2.Width = 142;
                    button2.Left = 711;
                    button2.Top = 414;
                    button2.Click += new EventHandler(Press_2);
                    this.Controls.Add(button2);
     
                    button3 = new Button();
                    button3.Text = "28";
                    button3.Height = 23;
                    button3.Width = 142;
                    button3.Left = 272;
                    button3.Top = 491;
                    button3.Click += new EventHandler(Press_3);
                    this.Controls.Add(button3);
     
                    button4 = new Button();
                    button4.Text = "101";
                    //еще over100500 ГК

    psina-from-ua, 22 Марта 2012

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

    +961

    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
    namespace WindowsFormsApplication3
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Up:
                        if ((pictureBox1.Location.X + pictureBox1.Width >= pictureBox4.Location.X) & (pictureBox1.Location.X <= pictureBox4.Location.X + pictureBox4.Width) & (pictureBox1.Location.Y <= pictureBox4.Location.Y + pictureBox4.Height) & (pictureBox1.Location.Y >= pictureBox4.Location.Y + pictureBox4.Height / 2)) ;
                        else pictureBox1.Top -= 5;
                        if ((pictureBox2.Visible) & (pictureBox3.Visible))
                            if ((pictureBox1.Location.Y >= pictureBox2.Location.Y) & (pictureBox1.Location.Y + pictureBox1.Height <= pictureBox2.Location.Y + pictureBox2.Height) & (pictureBox1.Location.X >= pictureBox2.Location.X) & (pictureBox1.Location.X + pictureBox1.Width <= pictureBox2.Location.X + pictureBox2.Width))
                                pictureBox1.Location = new Point(pictureBox3.Location.X + (pictureBox1.Location.X - pictureBox2.Location.X), pictureBox3.Location.Y - 5);
                        if ((pictureBox2.Visible) & (pictureBox3.Visible))
                            if ((pictureBox1.Location.Y >= pictureBox3.Location.Y) & (pictureBox1.Location.Y + pictureBox1.Height <= pictureBox3.Location.Y + pictureBox3.Height) & (pictureBox1.Location.X >= pictureBox3.Location.X) & (pictureBox1.Location.X + pictureBox1.Width <= pictureBox3.Location.X + pictureBox3.Width))
                                pictureBox1.Location = new Point(pictureBox2.Location.X + (pictureBox1.Location.X - pictureBox3.Location.X), pictureBox2.Location.Y - 5);
                                break;
                    case Keys.Down:
                                if ((pictureBox1.Location.X + pictureBox1.Width >= pictureBox4.Location.X) & (pictureBox1.Location.X <= pictureBox4.Location.X + pictureBox4.Width) & (pictureBox1.Location.Y + pictureBox1.Height <= pictureBox4.Location.Y + pictureBox4.Height / 2) & (pictureBox1.Location.Y + pictureBox1.Height >= pictureBox4.Location.Y)) ;
                        else pictureBox1.Top += 5;
                        if ((pictureBox2.Visible) & (pictureBox3.Visible))
                            if ((pictureBox1.Location.Y >= pictureBox2.Location.Y) & (pictureBox1.Location.Y + pictureBox1.Height <= pictureBox2.Location.Y + pictureBox2.Height) & (pictureBox1.Location.X >= pictureBox2.Location.X) & (pictureBox1.Location.X + pictureBox1.Width <= pictureBox2.Location.X + pictureBox2.Width))
                                pictureBox1.Location = new Point(pictureBox3.Location.X + (pictureBox1.Location.X - pictureBox2.Location.X), (pictureBox3.Location.Y + pictureBox3.Height) - 5);
                        if ((pictureBox2.Visible) & (pictureBox3.Visible))
                            if ((pictureBox1.Location.Y >= pictureBox3.Location.Y) & (pictureBox1.Location.Y + pictureBox1.Height <= pictureBox3.Location.Y + pictureBox3.Height) & (pictureBox1.Location.X >= pictureBox3.Location.X) & (pictureBox1.Location.X + pictureBox1.Width <= pictureBox3.Location.X + pictureBox3.Width))
                                pictureBox1.Location = new Point(pictureBox2.Location.X + (pictureBox1.Location.X - pictureBox3.Location.X), (pictureBox2.Location.Y + pictureBox2.Height) - 5);
                                break;

    Это не поддаётся описанию. Полная версия: http://pastebin.com/97sbSVLa

    P4R4, 22 Марта 2012

    Комментарии (14)
  7. Куча / Говнокод #9661

    +126

    1. 1
    2. 2
    http://my.sec.ru/author.cfm
    http://daily.sec.ru/search.cfm?s=%22+%2F%3E

    И это называется портал по безопасности...

    istem, 13 Марта 2012

    Комментарии (14)
  8. C# / Говнокод #9659

    +964

    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
    namespace WindowsFormsApplication12
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (textBox1.Text == "") textBox1.Text = "1";
                if (textBox2.Text == "") textBox2.Text = "1";
                if (textBox3.Text == "") textBox3.Text = "1";
    
                label7.Text = textBox1.Text + "x2 + " + textBox2.Text + "x + " + textBox3.Text;
    
                label4.Text = "x1 = " + Convert.ToString((Convert.ToInt32("-" + textBox2.Text) + (Math.Sqrt(Math.Pow(Convert.ToInt32(textBox2.Text), 2) - 4
                        * Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox3.Text)))) / (2 * Convert.ToInt32(textBox1.Text)));
    
                label5.Text = "x2 = " + Convert.ToString((Convert.ToInt32("-" + textBox2.Text) - (Math.Sqrt(Math.Pow(Convert.ToInt32(textBox2.Text), 2) - 4
                * Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox3.Text)))) / (2 * Convert.ToInt32(textBox1.Text)));
    
                label6.Text = "D = " + (Math.Pow(Convert.ToInt32(textBox2.Text), 2) - 4 * Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox3.Text)).ToString();
            }

    Программа находит корни квадратного уравнения.

    P4R4, 12 Марта 2012

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

    +962

    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
    using System;
    
    class Program
    {
        static void Main(params String[] args)
        {
            Console.WriteLine(ost_ot_dilen(int.Parse(args[1].ToString()), int.Parse(args[2].ToString())));
            Console.Read();
        }
    
        public static int ost_ot_dilen(int a, int b)
        {
            int c = tseloch_dilen(a, b);
            int d = (b * c);
            int e = a - d;
            return e;
        }
    
        public static int tseloch_dilen(int a, int b)
        {
            double c = a / b;
            double d = Math.Floor(c);
            return int.Parse(d.ToString());
        }
    }

    Полный букет радостей (не к прошедшим ли праздикам?)
    Тут тебе и "a % b" - не, не слышал, и то же самое про целочисленное деление (обратите внимание на названия функций дИления)
    И куча бессмысленных переменных, которые можно переприсвоить, и применение ToString() к строкам, и парамс-памс-памс... наслаждайтесь.

    P.S. Его уже отчислили...

    vistefan, 11 Марта 2012

    Комментарии (14)
  10. Си / Говнокод #9577

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (p)
      free(p);
    
    /* ... */
    
    if (p)
      q = realloc(p, size);
    else
      q = malloc(size);

    немного классики.

    из сырцов pdftohtml.

    Dummy00001, 01 Марта 2012

    Комментарии (14)
  11. Куча / Говнокод #9568

    +121

    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
    package simplecms
    import auth.*
    
    class AuthFilters {
    
    	private checkPermission(def controller, def p, def session, def params) {
    		if (p) {
    			boolean result = session.user?.profile?.permissions?.contains(p)
    			if (p.delegate) {
    				result |=  controller.checkDelegation[p.name](session, params)
    			} else if (p.controllerChecked) {
    				result &= controller.checkPermission[p.name](session, params)
    			}
    			if (!result && p.parent) {
    				result = checkPermission(controller, p.parent, session, params)
    			}
    			return result
    		}
    		return true
    	}
    
    	def filters = {
    		main(controller:'*', action:'*') {
    			before = {
    				def mappings = PermissionMapping.findAllByControllerAndMethodInList(controllerName, [actionName, '*'])
    				boolean denied = mappings?.size() > 0
    				if (denied) {
    					def permissions = []
    					session.user?.attach()
    					mappings.each { mapping ->
    						if (mapping.permission?.guest) {
    							denied = false
    						} else if (permission.parent == null){
    							permissions << mapping.permission
    						}
    					}
    					if (denied) {
    						denied = !permissions.any { checkPermission(grailsApplication.mainContext.getBean(controllerName), it, session, params) }
    					}
    				}
    				return !denied
    			}
    		}
    	}
    }

    Нашёл у себя в проекте. Иерархия разрешений? ну так будем проверять только корневые, что заморачиваться?!

    0rt, 29 Февраля 2012

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