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

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

    +105

    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
    using System;
    using System.IO;
    using System.Net;
    using System.Net.Sockets;
    
    
    namespace GisClient
    {
        class EntryPoint
        {
            static void Main()
            {
                TcpClient TcpCli = new TcpClient("127.0.0.1", 15800);
                NetworkStream ns = TcpCli.GetStream();
                
                PacketStructure obj = new PacketStructure();
                obj.CommandOptions = 0x80; //What's this shit??? 0x80 , what's Encoding??? What 0x80 equals to?
    
                obj.Write2Net(ns);
                obj.ReadFromNet(ns);
            }
        }
    
        class PacketStructure
        {
            UInt32 PacketId = 0x35534947;
            Guid UserId = new Guid();
            
            public byte CommandOptions = 0;
            UInt32 CommandSize = 0;
    
            byte[] Reserved = new byte[3];
    
    
            public void Write2BufferStream(MemoryStream ms)
            {
                //PacketId || Length - 4 || Type - UInt32
                ms.Write(BitConverter.GetBytes(PacketId), 0, 4);
                //UserId || Length - 16 || Type - byte[16]
                ms.Write(UserId.ToByteArray(), 0, 16);
                //Command Options || Length - 1 || byte
                ms.Write(BitConverter.GetBytes(CommandOptions), 0, 1);
                //Command Size || Length - 4 || Int32
                ms.Write(BitConverter.GetBytes(CommandSize), 0, 4);
                //Reserved space || Length - 3 || byte[3]
                ms.Write(Reserved, 0, 3);
                //CRC32 - control summary
                ms.Write(BitConverter.GetBytes(CRC32.BytesCrc(ms.ToArray())), 0, 4);
            }
    
            public void Write2Net(NetworkStream ns)
            {
                MemoryStream ms = new MemoryStream();
    
                Write2BufferStream(ms);
    
                byte[] A = ms.ToArray();
                ns.Write(A, 0, (int)ns.Length);
            }
    
            public void ReadFromNet(NetworkStream ns)
            {
                byte[] B = new byte[32];
    
                ns.Read(B, 0, (int)ns.Length);
    
                PacketId = BitConverter.ToUInt32(B, 0); //??????? lolwhat?????!!!!!111
    
                byte[] C = new byte[16];
    
                for (int i = 0; i < 16; i++)
                {
                    C[i] = C[i + 4];
                }
    
                foreach (int i in C)
                {
                    Console.WriteLine(i);
                    Console.ReadLine();
                }
    
                UserId = new Guid(C);
    
                CommandOptions = B[20]; // Why no BitConverter?????!!!!!
    
                CommandSize = BitConverter.ToUInt32(B, 21); // The end of CommandSize IS NOT SET!!!!1111
    
                for (int i = 0; i < 3; i++) Reserved[i] = B[i + 25]; // A[0] = Packet[0 + 25] IF i = 0 THEN i++
    
                Console.ReadLine();
            }
    
        }
    }

    Код с работы, вот так вот мы отслыаем и принимаем пакеты по TCP.
    Комменатрии особенно доставляют удовольствие :)

    sergylens, 12 Июля 2010

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

    +105

    1. 1
    public T GetT<T>(T t1, T t2) where T : class, IEnumerable<T>, new() { return new T().Concat(t1.Concat(t2)) as T; }

    привет всем! давно я не выкладывал перлы)
    история сего кода такова: сидел я и придумывал вопросы на анкетирование при принятии на работу в мою контору. дело дошло до дженериков. не долго думая родилась сия жесть. када я сам понял шо написал, был подстолом.
    вчитайтесь (вдумайтесь) в код!
    то шо получилось - это код, который с синтаксической точки зрения абсолютно правильный, и он закомпилируется, НО, этот метод невозможно вызвать принципе! нельзя построить синтаксическую конструкцию средствами языка, ибо это будет постоянно сложенный на один уровень енумерейбл дженерик.
    так-то!

    xeonix, 18 Июня 2010

    Комментарии (54)
  4. Си / Говнокод #3258

    +105

    1. 1
    int ccInstance_to_ncInstance(ccInstance *dst, ncInstance *src);

    raorn, 18 Мая 2010

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

    +104.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
    echo “<select id=\”seltel[".$i."]\”>”;
    switch ($data2["PHONE"][$i]["type"]) {
    case “Факс”:
    echo “<option selected>Факс”;
    echo “<option>Офисный телефон”;
    echo “<option>Колцентр”;
    echo “<option>Телефон”;
    echo “<option>Мобильный телефон”;
    break;
    case “Офисный телефон”:
    echo “<option>Факс”;
    echo “<option selected>Офисный телефон”;
    echo “<option>Колцентр”;
    echo “<option>Телефон”;
    echo “<option>Мобильный телефон”;
    break;
    case “Колцентр”:
    echo “<option>Факс”;
    echo “<option>Офисный телефон”;
    echo “<option selected>Колцентр”;
    echo “<option>Телефон”;
    echo “<option>Мобильный телефон”;
    break;
    case “Телефон”:
    echo “<option>Факс”;
    echo “<option>Офисный телефон”;
    echo “<option>Колцентр”;
    echo “<option selected>Телефон”;
    echo “<option>Мобильный телефон”;
    break;
    case “Мобильный телефон”:
    echo “<option>Факс”;
    echo “<option>Офисный телефон”;
    echo “<option>Колцентр”;
    echo “<option>Телефон”;
    echo “<option selected>Мобильный телефон”;
    break;
    };
    echo “</select><br/>”;

    вот как надо создавать выпадающие списки!

    guest, 12 Декабря 2008

    Комментарии (17)
  6. Си / Говнокод #2746

    +104.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
    55. 55
    56. 56
    57. 57
    58. 58
    /*==================================================================================*/
    /* Преобразование целого числа в ASCII												*/
    /*==================================================================================*/
    unsigned char IntToStr (unsigned long Value,unsigned char *pBuf,unsigned char n,unsigned char Zeros)
    {
    // Локальные переменные
    	unsigned char 	j = 0;
    	unsigned long 	dec;
    	uldiv_t			Tmp;
    // Программа
    // Перевод ASCII в значение
    	while (n--)
    	{
    		switch(n)
    		{
    			case 0:
    				dec = 1;
    			break;
    			case 1:
    				dec = 10;
    			break;
    			case 2:
    				dec = 100;
    			break;
    			case 3:
    				dec = 1000;
    			break;
    			case 4:
    				dec = 10000;
    			break;
    			case 5:
    				dec = 100000;
    			break;
    			case 6:
    				dec = 1000000;
    			break;
    			case 7:
    				dec = 10000000;
    			break;
    			case 8:
    				dec = 100000000;
    			break;
    			case 9:
    				dec = 1000000000;
    		}
    		Tmp = uldiv(Value,dec);
    	// Остаток
    		Value = Tmp.rem;
    	// Ограничение
    		if (Tmp.quot > 9)
    			Tmp.quot = 9;
    	// Проверка целой части
    		if (Zeros || j || Tmp.quot || (dec == 1))
    			*(pBuf + j++) = Hex_Table[Tmp.quot];
    	}
    	*(pBuf + j) = '\0';
    	return j;
    }

    без комментариев.

    angry C nerd, 10 Марта 2010

    Комментарии (13)
  7. Pascal / Говнокод #1625

    +104.7

    1. 1
    2. 2
    randomize;
    if random(5)=5 then ...

    Школота не знала всех тонкойстей работы функции Random :D

    Lolwho, 18 Августа 2009

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

    +104.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
    procedure TForm1.vibor_chiselClick(Sender: TObject);
    begin
    case vibor_chisel.ItemIndex of
       0: begin
          procedure TForm1.But_sortClick(Sender: TObject);
           begin
           n:=vib_el_v.value;
           setlength(massiv,n);
            for i:=0 to n-1 do
            massiv[i]:=strtoint(stringgrid1.Cells[i,0]);
             case vibor_sortirovki.itemindex of
             0: begin
                 sortpuzirek(n,massiv);
                 for i:=1 to n do
                 stringgrid1.Cells[i,0]:=inttostr(massiv[i]);
                end;
             1: begin
                end;
             2: begin
                end;
             end;
            end;
           end;
       1: begin
           procedure TForm1.But_sortClick(Sender: TObject);
           begin
           n:=vib_el_v.value;
           setlength(mas_siv,n);
            for i:=0 to n-1 do
            mas_siv[i]:=strtofloat(stringgrid1.Cells[i,0]);
             case vibor_sortirovki.itemindex of
             0: begin
                 sort_puzirek(n,mas_siv);
                 for i:=1 to n do
                 stringgrid1.Cells[i,0]:=floattostr(mas_siv[i]);
                end;
             1: begin
                end;
             2: begin
                end;
             end;
            end;
           end;
          end;
      end;
    end;

    Орали всей группой. А вы часто описываете процедуры в case of ?)
    PS
    Работает.)

    Grivus, 22 Марта 2010

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

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    if(number / 2 == ((int)number / 2))
    {
    ...
    }

    Проверка на чётность.

    yaguarvl, 27 Января 2015

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

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public bool EqualsToZero(int a){
     try {
      var b=100/a;
      return false;
     }
     catch{
      return true;
     }
    }

    Why not?

    alexCoder2007, 06 Июня 2014

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

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    catch (Exception ex)
    {
      try
      {
        if (ex.Message == "Thread was being aborted.")
        {

    taburetka, 19 Февраля 2014

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