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

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                                    <td id="menu"><a id="1" href="javascript:void(0);">Link 1</a></td>
                                    <td id="menu"><a id="2" href="javascript:void(0);">Link 2</a></td>
                                    <td id="menu"><a id="3" href="javascript:void(0);">Link 3</a></td>
                    </tr>                
    </table>

    ну вкладки html тут нет

    nepster, 09 Марта 2011

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

    +146

    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
    public class Boruvka
    {
        // private representations
        /**
         * Array of edges, which form the MST of the graph
         */
        private Edge[] mst;
        /**
         * Edges not yet discarded and not yet in the MST
         */
        private Edge[] wannabes;
        /**
         * Each component's nearest neighbor with find component numbers as indices
         */
        private Edge[] neighbors;
        /**
         * Graph representation on which we are searching for MST
         */
        private Graph g;
        /**
         *
         */
        private UnionFind uf;
        // constructors and methods
        /**
         * constructor
         * @param G Graph
         */
        public Boruvka(Graph G) {
            this.g = G;
        }
        /**
         * Boruvka's algorithm
         *
         *
         * @return minimal spanning tree - edges that form it
         */
    
        public Edge[] BoruvkaMSTalg()
        {
            Edge hlpEdge = new Edge(g.getMaxWeight(), 0, 0);
            this.uf = new UnionFind(g.getCountVerteces());
            this.wannabes = new Edge[this.g.getCountEdges()];
    
             /**
             * Get all edges from the graph G to the array edges
             */
            for (int i=0; i < g.getCountEdges(); i++)
                this.wannabes[i] = g.getEdgeAt(i);
    
    
            this.neighbors = new Edge[this.g.getCountVerteces()];
            this.mst = new Edge[this.g.getCountVerteces()+1];
    
            /**
             * index, used to store those edges being saved for the next phase
             */
            int nxtPhase;
            int k=1;
    
            for (int i=this.g.getCountEdges(); i!=0; i=nxtPhase)
            {
                int l, m, n;
    
                for (int o=0; o<this.g.getCountVerteces(); o++)
                    this.neighbors[o] = hlpEdge;
    
                for (n=0, nxtPhase=0; n<i; n++) {
                    Edge e = this.wannabes[n];
                    l = this.uf.find(e.getSVIndex()-1);
                    m = this.uf.find(e.getDVIndex()-1);
    
                    if ( l==m )
                        continue;
                    if ( e.getWeight() < this.neighbors[l].getWeight() )
                        this.neighbors[l] = e;
                    if ( e.getWeight() < this.neighbors[m].getWeight() )
                        this.neighbors[m] = e;
    
                    this.wannabes[nxtPhase++] = e;
                }
    
                for (n=0; n<this.g.getCountVerteces(); n++)
                    if ( this.neighbors[n] != hlpEdge ) {
                        l = this.neighbors[n].getSVIndex();
                        m = this.neighbors[n].getDVIndex();
    
                        if ( !this.uf.find(l,m) ) {
                            this.uf.unite(l,m);
                            this.mst[k++] = this.neighbors[n];
                        }
                    }
            }
            System.out.println("MST by Boruvka successful");
            return this.mst;
        }
    }

    Кто шарит в графах, помогите разобраться с алгоритмом Борувки для нахождения минимального остова графа. Код писал по коду Седжевика подстраивая под свой граф, но видимо наделал кучу глупостей, потому что алгоритм никогда не выходит из цикла. Подскажите где я ошибок наделал и как бы их исправить, буду очень благодарен.

    NightCrime, 03 Марта 2011

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

    +146

    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
    case enter:
    						{
    							TreeNodeBackColorChange();
    							if (Connection.Login == "" || Connection.Login == null)
    							{
    								new fmlogin().ShowDialog();
    								try
    								{
    									if (Connection.Login != "")
    										foreach (TreeNode item in tvMenuList.Nodes)
    										{
    											if (item.Name == lk)
    											{
    												item.NodeFont = new Font("arial", 10, FontStyle.Bold);
    												item.Text += " (" + Connection.Login + ")";
    											}
    										}
    								}
    								catch { }
    							}
    							else MessageBox.Show("Вы уже авторизованы!", "Вход в личный кабинет", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    							break;
    						}
    					case leave:
    						{
    							TreeNodeBackColorChange();
    							if (Connection.Login != "" && Connection.Login != null)
    							{
    								if (MessageBox.Show("Вы уверены, что хотите выйти?", "Выход", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
    								{
    									Connection.Login = "";
    									Connection.Pass = "";
    									try
    									{
    										foreach (TreeNode item in tvMenuList.Nodes)
    										{
    											foreach (TreeNode item2 in item.Nodes)
    											{
    												foreach (TreeNode item3 in item2.Nodes)
    												{
    													if (item3.Name == lk)
    													{
    														item.NodeFont = tvMenuList.Font;
    														item3.Text = "Личный кабинет";
    													}
    												}
    												if (item2.Name == lk)
    												{
    													item.NodeFont = tvMenuList.Font;
    													item2.Text = "Личный кабинет";
    												}
    											}
    											if (item.Name == lk)
    											{
    												item.NodeFont = tvMenuList.Font;
    												item.Text = "Личный кабинет";
    											}
    										}
    									}
    									catch { }
    									MessageBox.Show("Выход произведен успешно!", "Выход", MessageBoxButtons.OK, MessageBoxIcon.Information);
    								}
    							}
    							else MessageBox.Show("Вы не авторизованы!", "Выход из личного кабинета", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    							break;
    						}

    извиняюсь) форматирование сбивается когда из студии вставляю)
    PS жалко что нельзя вставить больше 100 строк. А тут такие красивые функции есть, которые теряют всю свою зрелишность при их урезании

    slavenin, 02 Марта 2011

    Комментарии (19)
  5. Си / Говнокод #5850

    +146

    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
    // vba-c.h
    #include <stdio.h>
    #include <conio.h>
    
    #ifndef VBAC
    #   define VBAC
    #   define Sub void
    #   define EndSub }
    #   define main main() {
    #   define Dim __int32
    #   define As
    #   define Integer ;
    #   define Print( a ) printf( "%i\n", a );
    #   define Wait getch();
    #endif
    
    //main.c
    #include "vba-c.h"
    
    Sub main
        Dim a As Integer
        Dim b As Integer
        Dim c As Integer
        Dim d As Integer
        Dim mb, mc As Integer
    
        a = 10;
        b = 25;
        c = 34;
        d = 34;
        mb = 0x00000002;
        mc = 0x00000030;
    
        b = b - 1;
        c = c - 1;
        a = a + b + c;
        a = a / 3;
        b = b / 4;
        a = a - 1;
        b = b + 1;
        c = c - a + b;
        d = ( b & mb ) & ( c & mc );
    
        Print( a )
        Print( b )
        Print( c )
        Print( d )
        Wait
    EndSub

    После полугода изучения VBA, привыкание к хорошим, годным языкам, как Си очень проблематично. Что и порождает такие вот костыли...

    DarkWolf, 02 Марта 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    #define private public
    #include <vector>
    #include <iostream>
    
    int main()
    {
       // . . .
    }

    Вот так вот просто обращаться к приватным полям чужих классов))

    k06a, 02 Марта 2011

    Комментарии (4)
  7. Java / Говнокод #5758

    +146

    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
    package gargoyle.xenox.game;
    
    import gargoyle.util.log.Log;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Serializable;
    
    @SuppressWarnings("rawtypes")
    public abstract class Persistent<T extends Persistent> implements Serializable {
      private static final long serialVersionUID = 1L;
    
      private File file(final Class<? extends Persistent> clazz) {
        return new File(System.getProperty("user.home"), clazz.getName() + ".dat");
      }
    
      @SuppressWarnings("unchecked")
      final protected T load(final Class<T> clazz) {
        ObjectInputStream in;
        try {
          in = new ObjectInputStream(new FileInputStream(this.file(clazz)));
          return (T) in.readObject();
        } catch (final IOException e) {
          Log.error(e);
        } catch (final ClassNotFoundException e) {
          Log.error(e);
        }
        return null;
      }
    
      final protected void save(final T o) {
        ObjectOutputStream os = null;
        try {
          os = new ObjectOutputStream(new FileOutputStream(this.file(o.getClass())));
          os.writeObject(this);
          os.flush();
        } catch (final IOException e) {
          Log.error(e);
        } finally {
          try {
            if (os != null) {
              os.close();
            }
          } catch (final IOException e) {
            Log.error(e);
          }
        }
      }
    }

    такой вот забавный сериализатор получился
    причина - запутался в генериках

    Lure Of Chaos, 21 Февраля 2011

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

    +146

    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
    using System;
    
    class Popovkin
    {
        static void Main()
        {
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.BackgroundColor = ConsoleColor.Gray;
            Console.WriteLine("Привет, баребухи! Я Ромик Будин!");
            Console.WriteLine("Уже " + DateTime.Now);
            Console.WriteLine("Нажмите Ентер!");
            Console.ReadLine();
            Console.ForegroundColor = ConsoleColor.Green;
            Console.BackgroundColor = ConsoleColor.Black;
            Console.Clear();
            for (int e = 1; e < 1200000; e++)
            {
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.BackgroundColor = ConsoleColor.White;
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                Console.Write("Hello Popovkin!!!");
                for (int i = 0; i < 2; i++)
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    Console.Write("Hello Popovkin!!!");
                    for (int q = 0; q < 2; q++)
                    {
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.Write("Hello Popovkin!!!");
                        Console.WriteLine("Hello Popovkin!!!");
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.BackgroundColor = ConsoleColor.Red;
                    }
                }
            }
            Console.ReadLine();
        }
    }

    111111, 19 Февраля 2011

    Комментарии (4)
  9. Java / Говнокод #5708

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class ForDemo {
      public static void main(String args[]) {
        long C;
    	
    	for(C = 0; C < 9999999; C++)
    	System.out.println("This is count: " + C);
    	System.out.println("Done!");
    	}
    }

    Говнокод убивающий командную строку =),
    Применять только по необходимости(!)
    Так же можно проследить между строк упоминание о C++

    Akira, 17 Февраля 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <font color="#FF0000">
    	Срок работы пробной версии продукта истек.
    	Через две недели этот сайт полностью прекратит свою работу.
    	Вы можете купить полнофункциональную версию продукта на сайте 
    	<a href="http://www.1c-bitrix.ru/?r1=bsm7trial&amp;r2=expiried">
    		www.1c-bitrix.ru
    	</a>.
    </font>

    чуваки так заняты организацией, что как то забыли прикупить лицензию
    http://www.cloudconf.ru/msk2011/

    zlob.jc, 17 Февраля 2011

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    void CDAMN::ControlDAMNAmount(DWORD newValue)
    {
    	if(newValue != 0)
    		controlDAMNAmount = newValue;
    }
    
    DWORD CDAMN::ControlDAMNAmount()
    {
    	return controlDAMNAmount;
    }

    Автор тот же
    Две функции с одним именем. Одна изменяет внутреннее поле (член класса)- другая возвращает его значение. Использовать приставки get_ и set_ недосуг как-то. Да и называть внутренние переменные класса так, чтобы было понятно, что они не глобальные (с приставкой “m_”) тоже облом. Хайтек-шмайтек…

    ShuraKotov, 14 Февраля 2011

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