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

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

    +163.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    //Я ТИПА ЗДЕСЬ СДЕЛАЛ НА ГАЛЕРЕЕ 4 КАРТИНКИ
                   if(this.id=='gallery') {
                        this.previewCount = 4;
                   } else {
                        this.previewCount = 4;
                   }

    Недавно код пересматривали. Авторы долго отнекивались

    hagnar, 19 Сентября 2009

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

    +60.3

    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
    void CExeTuner::ResFill2Tree(uchar *baddr, uchar *addr, TRes *now, int level)
    {
    	int len;
    	now->size1=*(uword *)(addr+0x0C); now->size2=*(uword *)(addr+0x0E);
    	if (now->size1+now->size2) now->mas=new TRes * [(now->size1+now->size2)];
    	ulong long1,long2;
    	for (int i=0; i<(now->size1+now->size2); i++)
    	{
    		now->mas[i]=new TRes;
    		now->mas[i]->back=now;
    		now->mas[i]->name=new char [32];
    		now->mas[i]->mas=NULL; now->mas[i]->data=NULL;
    		long1=*(ulong *)(addr+0x10+(i<<3));
    		long2=*(ulong *)(addr+0x14+(i<<3));
    		if (long1&0x80000000) {
    			long1&=0x7FFFFFFF;
    			now->mas[i]->isname=true;
    			len=*(uword *)(baddr+long1);
    			now->mas[i]->rname1=new uchar [len*2+2+1];
    				now->mas[i]->rname1[len*2+2]=0;
    				memcpy(now->mas[i]->rname1,baddr+long1,len*2+2);
    			now->mas[i]->name=new char [len+1];
    				now->mas[i]->name[len]=0;
    				for (int j=0; j<=len; j++)
    				now->mas[i]->name[j]=now->mas[i]->rname1[(j+1)*2];
    		} else {
    			now->mas[i]->isname=false;
    			now->mas[i]->rname2=long1;
    			if (!ResNumToStr(long1,now->mas[i]->name,level)) _itoa(long1,now->mas[i]->name,10);
    		}
    		if (long2&0x80000000) {
    			long2&=0x7FFFFFFF;
    			now->mas[i]->isdir=true;
    			ResFill2Tree(baddr, baddr+long2, now->mas[i], level+1);
    		} else {
    			now->mas[i]->isdir=false;
    			now->mas[i]->size1=*(ulong *)(baddr+long2+4);
    			now->mas[i]->data=new uchar [now->mas[i]->size1];
    			if ((*(ulong *)(baddr+long2)+now->mas[i]->size1)>(*ExeMain.ResDirAddrOBJ+*ObjMas[ExeMain.ResPosInObj].size))
    			{ now->mas[i]->data=NULL; now->mas[i]->size1=0;
    			} else memcpy(now->mas[i]->data,baddr-*ExeMain.ResDirAddrOBJ+*(ulong *)(baddr+long2),now->mas[i]->size1);
    		}
    	}
    }

    Древнющий проект откопал))
    Метод извлекает все ресурсы из PE файла в структуру типа дерево))

    k06a, 15 Сентября 2009

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

    +156.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $_REQUEST['trigger']['event_params']['duration'] = $_REQUEST['trigger']['event_params']['duration']['hour']*60*60 + $_REQUEST['trigger']['event_params']['duration']['minute']*60 + $_REQUEST['trigger']['event_params']['duration']['seconds'];
                if (empty($_REQUEST['trigger']['event_params']['frequency_period'])) {
                    $_REQUEST['trigger']['event_params']['frequency_count'] = '';
                }
                if (empty($_REQUEST['trigger']['event_params']['frequency_count'])) {
                    $_REQUEST['trigger']['event_params']['frequency_period'] = '';
                }

    phoenix, 10 Сентября 2009

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

    +154.9

    1. 1
    2. 2
    $time_portions = explode(' ', microtime());
    $actual_time = $time_portions[1] . substr($time_portions[0], 1);

    microtime(true) было бы слишком просто

    shitcoder, 10 Сентября 2009

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

    +158.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (!isset($_GET["productID"]))
    {
    	if (isset($_POST["productID"]))
    	{
    		$productID = (int)$_POST["productID"];
    	}
    }
    else
    {
    	$productID = (int)$_GET["productID"];
    }

    Оттуда же

    gorky, 09 Сентября 2009

    Комментарии (3)
  7. SQL / Говнокод #1794

    −863

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    select ...
    from ...
    where ...
                     and NVL2(l_date_from, trunc(mmt.transaction_date), l_date_from) >= NVL(l_date_from, l_date_from) 
                     and NVL2(l_date_to, trunc(mmt.transaction_date), l_date_to) <= NVL(l_date_to, l_date_to)          
    ...

    из реально работающей системы

    nxx, 09 Сентября 2009

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

    +136.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
    public class Xps2Slides
    {
        private int MakeCollection(List<string> data)
        {
            ...
            CallGC();
            ...
        }
    
        private void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            ...
            CallGC();
            ...
        }
    
        private void makeDeepZoomFiles(string png)
        {
            ...
            CallGC();
        }
    
        private string MakePNG(ref FrameworkElement fe, int pageNumber)
        {
            CallGC();
            ...
            CallGC();
            ...
        }
    
        private void doPNG(string outputPath, ref RenderTargetBitmap bmp)
        {
            ...
            CallGC();
            ...
        }
    
        private void CallGC()
        {
            GC.AddMemoryPressure(300000);// number was picked at random..
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.WaitForFullGCComplete();
        }
    }

    Кандидат на позицию программиста: "There are alot of samples on the internet of such similar code, but nothing that could be used for serially generating these collections on the fly without crashing with a memory overflow error or some other input output issue. I have resolved these problems in the file contained in the sample."

    OlgaWolga, 02 Сентября 2009

    Комментарии (3)
  9. PHP / Говнокод #1727

    +151.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $_SEARCH_DATA= JRequest::get($_GET);
    $arr_keys=array_keys($_SEARCH_DATA);
    for($i=0;$i<count($arr_keys);$i++){ 
    	$arr_data[$i]=$_SEARCH_DATA[$arr_keys[$i]];
    }
    $arr_form=array_combine($arr_keys,$arr_data);

    Pendalff, 31 Августа 2009

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

    +138.3

    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
    /*А вот так РНР программисты пишут код для ASP.NET.
    См проверку типов*/
    
    protected HttpContext CurrentContext
    {
     get {
      return _context;
     }
     set {
      if (typeof(HttpContext) == value.GetType())
       _context = value;
      else
       //...
     }
    }

    ArbuzOFF, 29 Августа 2009

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

    +151

    1. 1
    @filemtime($cache_f) < time()-(600+((integer)rand(-100,100)))

    плавающий кеш? о_О

    gorvic, 28 Августа 2009

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