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

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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    switch($type) {
    case 0:
    	$r_type = 0;
    	break;
    case 2:
    	$r_type = 2;
    	break;
    case 1:
    	$r_type = 1;
    	break;
    }

    нашел в своем старом коде.

    luethus, 11 Января 2011

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

    +122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /// <summary>
    /// I hate you guys.
    /// You guys are assholes.
    /// Especially author of this class.
    /// I hate him the most.
    /// </summary>
    public partial class ProfileEditor

    Semargl, 11 Января 2011

    Комментарии (5)
  4. VisualBasic / Говнокод #5202

    −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
    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
    Private Sub Combo1_Click()
    
    Select Case Combo1.ListIndex
    
    Case 0
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\RaZeR.jpg")
    Case 1
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Serg.jpg")
    Case 2
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Nikton.jpg")
    Case 3
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Raider.jpg")
    Case 4
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Andrew.jpg")
    Case 5
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Gnum.jpg")
    Case 6
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Iron Man.jpg")
    Case 7
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Anakin.jpg")
    Case 8
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Nuparu.jpg")
    Case 9
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Deleted.jpg")
    Case 10
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\LEGOlas.jpg")
    Case 11
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Kit Fisto.jpg")
    Case 12
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Banky.jpg")
    Case 13
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Pazitiffniy.jpg")
    Case 14
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\GenKen.jpg")
    Case 15
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Dimanok.jpg")
    Case 16
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Drakon.jpg")
    Case 17
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\DJ Sim.jpg")
    Case 18
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Obi-Van.jpg")
    Case 19
    enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\Vitalya.jpg")
    Case 20
    enemy1.Picture = LoadPicture("data/Rescaled/LukeSW.jpg")
    Case 21
    enemy1.Picture = LoadPicture("data/Rescaled/Smegorik.jpg")
    Case 22
    enemy1.Picture = LoadPicture("data/Rescaled/Vitalya.jpg")
    Case 23
    enemy1.Picture = LoadPicture("data/Rescaled/DJ Sim.jpg")
    End Select
    
    
    End Sub
    
    
    Private Sub Combo2_Click()
    
    Select Case Combo2.ListIndex
    
    Case 0
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\RaZeR.jpg")
    Case 1
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Serg.jpg")
    Case 2
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Nikton.jpg")
    Case 3
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Raider.jpg")
    Case 4
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Andrew.jpg")
    Case 5
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Gnum.jpg")
    Case 6
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Iron Man.jpg")
    Case 7
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Anakin.jpg")
    Case 8
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Nuparu.jpg")
    Case 9
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Deleted.jpg")
    Case 10
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\LEGOlas.jpg")
    Case 11
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Kit Fisto.jpg")
    Case 12
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Banky.jpg")
    Case 13
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Pazitiffniy.jpg")
    Case 14
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\GenKen.jpg")
    Case 15
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Dimanok.jpg")
    Case 16
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\Drakon.jpg")
    Case 17
    enemy2.Picture = LoadPicture(App.Path & "\data\Rescaled\DJ Sim.jpg")

    Тот же источник, что и #5201. Загрузка картинок из тех самых комбобоксов. А ведь можно было enemy1.Picture = LoadPicture(App.Path & "\data\Rescaled\" & Combo1.SelectedItem & ".jpg").

    RaZeR, 10 Января 2011

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

    +161

    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
    class my_anekdots
    {
        private $url="http://anekdots.ru/roulette.pl?catid=";
        private $type=2;
        private $output;
        private $content;
        public function getRandAnekdots()
        {
            $this->content = file_get_contents($this->url.$this->type);
            $this->parseAnekdots()->_display();
            
        }
        private function parseAnekdots()
        {
            preg_match('|<font face=Tahoma size=2 style="font-size: 11px;"><p align=justify>(.*?)</p></font>|is',$this->content,$matches);
            $this->output = $matches[1];
            $this->output = str_replace('\n','<br />',$this->output);
            return $this;
            
        }
        public function _display()
        {
            echo "<span style='padding:5px;'>".$this->output."</span>";
        }
    }
    $my_anekdots = new my_anekdots;
    $my_anekdots->getRandAnekdots();

    O_op

    DanxilLs, 08 Января 2011

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

    +116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            {
                label5.Text = Convert.ToInt32(e.X.ToString()).ToString();
                label6.Text = Convert.ToInt32(e.Y.ToString()).ToString();
                label1.Location = new Point(e.X, e.Y);
            }

    Не знаю лаба это или нет, но взято это с www.cyberforum.ru

    psina-from-ua, 07 Января 2011

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

    +126

    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
    if (_documentsCount < 0)
                {
                    var docs = new HashSet<int>();
    
                    _manager.WalkThroughConcepts(delegate(Concept concept, CancelEventArgs cargs)
                                                     {
                                                         foreach (var doc in concept.Documents)
                                                             docs.Add(doc);
                                                     });
    
                    _documentsCount = docs.Count;
                }
    
                return _documentsCount;

    Как сосчитать количество документов в дереве? очень просто - надо всех их добавить в один список (и для этого сделать цикл в каждом узле, разумеется) а потом вернуть количество элементов в списке.

    eval_2009, 06 Января 2011

    Комментарии (5)
  8. SQL / Говнокод #4954

    −188

    1. 1
    2. 2
    3. 3
    exec sp_executesql N'UPDATE [dbo].[sop_user_master]
    SET [user_firstname] = @p0, [user_password_hash] = @p1, [user_password_salt] = @p2
    WHERE 0 = 1',N'@p0 nvarchar(15),@p1 varbinary(32),@p2 varbinary(6)',@p0=N'AFDAasddddddddd',@p1=0xBB8012CAAB306E470D4918B490D7100DC464B5106A291896D045892B5F303309,@p2=0x80DE1E731993

    Вот какой запрос генерирует Linq to SQL)))

    vanished, 17 Декабря 2010

    Комментарии (5)
  9. Ruby / Говнокод #4913

    −98

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    def non_blank_attrs_amount
        return_value = 4
        return_value = return_value + 1 if (!country.blank?)
        return_value = return_value + 1 if (!address.blank?)
        return_value = return_value + 1 if (!phone.blank?)
        return_value = return_value + 1 if (!email.blank?)
        return_value = return_value + 1 if (!skype.blank?)
        return_value = return_value + 1 if (!site.blank?)
        return_value = return_value + 1 if (!comment.blank?)
        return_value.to_s
      end

    Dreamfall, 13 Декабря 2010

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

    +140

    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
    ZEB_CALLBACK ZEB_CACHE_GetPage(ZEB_PagesCache *pPagesCache, ZEB_PAGEIDX fpPageIndex, void **ppCachedPageAdress)
    {  
      ZEB_WORD i; 
      for(i = 0; i < pPagesCache->loadedCount; i++)
      {
        if(pPagesCache->pDescriptors[i].fpPosition == fpPageIndex)
        {
          pPagesCache->pDescriptors[i].hitPoints++;
          (*ppCachedPageAdress)=(pPagesCache->pCache)+(i<<(pPagesCache->pageRatio)); //выдаю адрес подгруженной страницы в кэше
          return ZEBCB_GOOD;
        }
      }
      // запрошенная страница все еще не найдена} 
      //если страницы нету - то проверяем - есть ли свободный слот, а если нет слotа, то проводим операцию по выпиливанию страницы с наименьшим ХП 
      if( pPagesCache->loadedCount < pPagesCache->capacity )
      {//если слот еще есть то загружаем в позицию края - это loadedCount и увеличиваем его на 1
        pPagesCache->pDescriptors[pPagesCache->loadedCount].fpPosition = fpPageIndex; //указываем реальный адрес в соусе
        pPagesCache->pDescriptors[pPagesCache->loadedCount].hitPoints = 1;  //ХП ставим в 1
        ZEB_CACHE_MechMountPage(pPagesCache,pPagesCache->loadedCount,fpPageIndex);//загружаем эту страницу в кэш (позиция соответствует индексу дескриптора) 
        (*ppCachedPageAdress)=(pPagesCache->pCache) + ((pPagesCache->loadedCount) << (pPagesCache->pageRatio)); //получаем адрес страницы  
        pPagesCache->loadedCount++; //увеличиваем количество загруженных страниц  
        return ZEBCB_GOOD;
      }else //TODO: елсе не нужен     // Почему не нужен? (2010 07 12)    //Не знаю (2010 07 28)
      {//если свободных слотов нет - то проводим поиск наименьшего хп и выпиливаем его, загружая на его место новый дескриптор и страницу
        //поиск наименбшего хп
        ZEB_WORD 
         register minHP,
         register minDIDX  //Descriptor InDeX
         ;    
        minHP = pPagesCache->pDescriptors[0].hitPoints;
        minDIDX = 0;
        for(i = 1; i < pPagesCache->capacity; i++)
        {
          if(pPagesCache->pDescriptors[i].hitPoints < minHP)
          {
            minHP = pPagesCache->pDescriptors[i].hitPoints;
            minDIDX = i;
          }
        }
        //страница в любос случае найдена - выпиливаем ее - сохраняя ее в сурс обратно
        ZEB_CACHE_MechUnmountPage(pPagesCache,minDIDX,pPagesCache->pDescriptors[minDIDX].fpPosition); 
        //и на ее место грузим новый дескриптор и саму страницу
        pPagesCache->pDescriptors[minDIDX].fpPosition = fpPageIndex; //указываем реальный адрес в соусе   //TODO: Нужно запихивать дескрипторы в отдельный массив и обращаться по указателю, потом это дело можно сортировать для ускорения поиска страниц. Режимы сортировок - максимум и минимум: 1 - для быстрого обращения к наиболее часто используемым страницам, 2 - для быстрого выпиливания менее используемых страниц. (2010 07 28)
        pPagesCache->pDescriptors[minDIDX].hitPoints = 1;  //ХП ставим в 1 
        //кэшируем требуемую страницу
        ZEB_CACHE_MechMountPage(pPagesCache,minDIDX,fpPageIndex);    
        (*ppCachedPageAdress)=(pPagesCache->pCache) + ((pPagesCache->loadedCount) << (pPagesCache->pageRatio)); //получаем адрес страницы  
        return ZEBCB_GOOD;
      }
    }

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

    CreatorOfBullshit, 08 Декабря 2010

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

    +158

    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
    class SomeClass
    {
    public:
        SomeClass(bool evenlope = true)
        {
            if(evenlope)
            {
                if (IsVistaOrGreater())
                    mLetter = new SomeClassVista;
                else
                    mLetter = new SomeClassXP;
            }
            else
                mLetter = 0;
        }
        virtual ~SomeClass() { delete mLetter; }
        virtual bool Foo(int param) { return mLetter->Foo(param); }
    private:
        SomeClass* mLetter;
    };
    
    class SomeClassXP : public SomeClass
    {
    public:
            SomeClassXP():SomeClass(false) { /* ... */ }
    	~SomeClassXP() { /* ... */ }
    	virtual bool Foo(int param) { /* ... */ }
    };

    Нужно было добавить поддержку новых настроек висты и семёрки, которые нельзя изменить через старый интерфейс. Наговнякал.

    rat4, 07 Декабря 2010

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