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

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

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (resetPasswordAlert != nil)
    {
        resetPasswordAlert = nil, [resetPasswordAlert release];
    }
    [resetPasswordAlert release];
    resetPasswordAlert = [[ResetPasswordAlert alloc] init];

    Memory management по-белорусски...

    ZaR, 04 Декабря 2012

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

    −102

    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
    - (int)someMethod
    {
        @try
        {
            // some code
            return 0;
        }
        @catch (NSException *e)
        {
            // some more code
            return -1;
        }
    
        // and some more code
        return -1;
    }

    Вот бывает же...

    glook, 31 Октября 2012

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

    +20

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #include <iostream>
    #include <string>
    
    int main(void)
    {
            char arr[] = "All's well that ends well";
            std::string s(arr, 3000);
            std::cout << s << std::endl;
    return(0);
    }

    Первое что пришло на ум, когда смотрел конструкторы string.
    Собирал: g++-4.5 -Wall -Wextra -pedantic-errors
    ideone.com и liveworkspace.org фильтруют.

    sayidandrtfm, 17 Августа 2012

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

    +56

    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
    if(isset($_POST['btnsubmitup']))
    		{
    			for ($i = "0"; Arr::get($_POST, 'id'.$i, ''); $i++) {
    			if (Arr::get($_POST, 'up'.$i, '') == '1') {
    				$p1=-1;
    	//			$uploaddir = '/img/brands/';
    				$a = Arr::get($_POST, 'id'.$i, '');
    	//			$p1 = Upload::save($_FILES['photo'.$i], $uploaddir.$a.'.jpg', './', 0777);
    
    					$rand=rand(1000000,9999999);
    				$uploaddir = '/img_carpets/collection/';
    				$uploaddir2 = 'img_carpets/collection/';
    				$p1 = Upload::save($_FILES['file1'.$i], $uploaddir.'ID-'.$rand.'-1.jpg', './', 0777);
    				$p2 = Upload::save($_FILES['file2'.$i], $uploaddir.'ID-'.$rand.'-2.jpg', './', 0777);
    				$p3 = Upload::save($_FILES['file3'.$i], $uploaddir.'ID-'.$rand.'-3.jpg', './', 0777);
    				$p4 = Upload::save($_FILES['file4'.$i], $uploaddir.'ID-'.$rand.'-4.jpg', './', 0777);
    	//			if ($p1!="0") { $p1=$rand; }
    	//			if ($p2!="0") { $p2=$rand; }
    	//			if ($p3!="0") { $p3=$rand; }
    	//			if ($p4!="0") { $p4=$rand; }
    					$im2=Image::factory($uploaddir2.'back.png');
    
    // -> и так далее

    Начал разбирать библиотеку (фреймворк скорее - kohanaframework) одного сайта, дабы сделать нормальную админку
    Дошел до процедуры сохранения картинок. Я посмотрел, по какому же алгоритму сохраняются картинки (формирование имени файла)
    И опупел!
    ** $rand=rand(1000000,9999999); **
    В базе поле для сохранения имени картинки - не уникально.
    Т.е., разраб решил поиграть в рулетку, анука генератор чисел выберет еще раз одно и то же число, и перезапишет картинку у товара. ))))
    А оператор админки будет чесать репу - тут же работало а тут и нет )

    topilnik, 01 Августа 2012

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

    +7

    1. 1
    2. 2
    QRegion* region = new QRegion(*(new QRect(button->x()+5,button->y()+5,190,190)),QRegion::Ellipse);
    button->setMask(*region);

    panter_dsd, 22 Июля 2012

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

    +96

    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
    if (IsPostBack)
                {
                    string PostBackerID = Request.Form.Get("__EVENTTARGET");
                    string PostBackerArg = Request.Form.Get("__EVENTARGUMENT");
    
                    if (PostBackerID == "ctl00$cphMainContent$pagerID")
                    {
                        CurrentReviewPage = int.Parse(PostBackerArg);
                        FillReviews();
                    }
                    else if (PostBackerID == "ctl00$cphMainContent$Like")
                    {
                        FillLike();
                    }
                    else if (PostBackerID == "ctl00$cphMainContent$review")
                    {
                        AddReview(PostBackerArg);
                    }
                    else if (PostBackerID == "ctl00$cphMainContent$Follow")
                    {
                        FillFollow();
                    }
                    else if (PostBackerID == "ctl00$cphMainContent$WebResultpagerID")
                    {
                        CurrentWebResultPage = int.Parse(PostBackerArg);
                        FillWebResults();
                    }
                    else if (PostBackerID == "ctl00$cphMainContent$WebResultCluster" || PostBackerID == "ctl00$cphMainContent$HiddenButton")
                    {
                        CurrentWebResultPage = 0;
                        int SelectedClusterID = int.Parse(PostBackerArg);
                        if (AllClusters != null && AllClusters.ContainsKey(SelectedClusterID))
                        {
                            SelectedClusterName = AllClusters[SelectedClusterID];
                            FillWebResults();
                        }
                    }
                }

    компактная логика всей страницы...

    mangyst, 17 Мая 2012

    Комментарии (38)
  8. Си / Говнокод #10163

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    inline uint32 pow(uint32 arg1, int agr2)
    {
        for (int i = 0; i < agr2; ++i)
            arg1 *= arg1;
        return arg1;
    }

    Возведение в степень.

    a553r7fa1L3d, 01 Мая 2012

    Комментарии (38)
  9. Pascal / Говнокод #10057

    +95

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function bth(ds: byte): string;
     const
     b: string = '0123456789ABCDEF';
    begin
    Result:= b[(ds shr 4) + 1] + b[(ds and $F) + 1];
    end;

    Некоторое время назад потребовалось конвертить Byte в Hex. Стандартных способов не нашёл, а ничего лучше такой говнокодки выдумать не получилось. Сейчас смотрю и разбирает смех - весёлые были времена!

    Alegun, 27 Апреля 2012

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

    +1006

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(mHyperlinks.size()>0)
    	{
    		for(size_t i=0;i<mHyperlinks.size();i++)
    		{
    			//some code
    		}
    	}

    lifemaker, 01 Марта 2012

    Комментарии (38)
  11. PHP / Говнокод #9542

    +157

    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
    if(intval($data[0])>0){
      $massart=explode(" ",$data[1]);
      if($massart[0]){
        $infoarticle=mysql_query("SELECT `Message_ID`, `ExternalData` FROM `Message114` where `Article`='".mysql_escape_string($massart[0])."';");
        if(mysql_num_rows($infoarticle)){
          while($infoarticlerow=mysql_fetch_array($infoarticle)){ 
            $arrowitem["".$massart[0]]['name']=$data[1];
            $arrowitem["".$massart[0]]['id']=$infoarticlerow['Message_ID'];
            $arrowitem["".$massart[0]]['info']=$infoarticlerow['ExternalData'];
            for ($c=5; $c < $num; $c++) {
              if(intval($data[$c])>0){
                $arrowitem["".$massart[0]]['size'][$mssize[$c]]=$data[$c];    
              }
            }   
            if(floatval($arrowitem["".$massart[0]]['price'])==0){
              $arrowitem["".$massart[0]]['price']=floatval($data[3]);
            }else{
              if(floatval($arrowitem["".$massart[0]]['price'])>floatval($data[3])){
                $arrowitem["".$massart[0]]['price']=floatval($data[3]); 
              }
            }           
          } 
        }else{
          $notnetcat[]=$data[1];  
        }
      }
    }

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

    telnet, 25 Февраля 2012

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