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

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

    −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
    public function getRegProductDetails($product_id = '', $status = 'yes'){
    
                $this->db->select('*');
    
                if ($product_id != '') {
    
                    $this->db->where('product_id', $product_id);
    
                }
    
                if ($status != '') {
    
                    $this->db->where('active', $status);
    
                }
    
                $query = $this->db->get('registration_package');
    
                foreach ($query->result_array() as $row) {
    
                    $product_details[] = $row;
    
                }
    
                return $product_details;

    Работаю с коммерческой системой, писали Индусы. У меня 100 Мб анекдотов в исходном коде. В БД есть столбец статус, они туда пишут статус yes OR no. И проверка везде тоже идет через строку. а выборку делают вот такой функцией. Зачем тут проверять статус на пустоту? В других подобных функциях встречаю RETURN в форейче

    traney, 16 Июня 2016

    Комментарии (3)
  3. Java / Говнокод #20207

    +5

    1. 1
    2. 2
    int lastletter = MathUtils.random(0, 32);
            letter = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ".substring(lastletter,lastletter+1);

    всё просто и наглядно.

    WaterSmith, 15 Июня 2016

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

    +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
    void CRenderer::renderToTexture(CTexture &dest, CTexture &src, TRANSFORM tr)
    {
    	int w = src.width();
    	Concurrency::parallel_for(0, w, [&] (int i) 
    	{
    		int h = src.height();
    		for(int j = 0; j < h; j++)
    		{
    			COLOR temp = src.pixel(i, j);
    			if(temp == TRANSPARENT_COLOR) continue;
    
    			//scale
    			float dx = (i-(w/2) + 0.5f)*tr.scale[0];
    			float dy = (j-(h/2) + 0.5f)*tr.scale[1];
    
    			//rotate
    			float dx2 = dx*tr.cosRot - dy*tr.sinRot;
    			float dy2 = dx*tr.sinRot + dy*tr.cosRot;
    
    			//translate
    			dx2 += tr.trans[0];
    			dy2 += tr.trans[1];
    
    			//update pixels
    			float xMin = dx2 - 0.5f*tr.scale[0] + w/2;   if(xMin < 0) xMin = 0;
    			float yMin = dy2 - 0.5f*tr.scale[1] + w/2;   if(yMin < 0) yMin = 0;
    			float xMax = xMin + tr.scale[0];  if(xMax-(int)xMax > 0) xMax++;   if(xMax >= dest.width()) xMax = dest.width()-1;
    			float yMax = yMin + tr.scale[1];  if(yMax-(int)yMax > 0) yMax++;   if(yMax >= dest.height()) yMax = dest.height()-1;
    			for(float ki = xMin; ki <= xMax; ki++) for(float kj = yMin; kj <= yMax; kj++) dest.pixel(ki, kj) = temp;	
    		}
    	});
    }

    Писал ручками трансформацию картинок в 2д, вышло без искажений пропорций, но с дырками, уродливо, и просадило фпс в самую жопень!

    puksus, 14 Июня 2016

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    while($r=mysql_fetch_array($q)){
      $buf[$r['id']]['image_file']=$r['file'];
      $r=null;
      $r['id']=null;
    }
    return $buf;

    StTv, 14 Июня 2016

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

    +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
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    class TM
    {
        function TM()
        {
             $this->startBuffering();
             register_shutdown_function(array($this, 'endBuffering'));
        }
     
        public function startBuffering()
        {
            ob_start();
        }
     
        public function endBuffering()
        {
            if(ob_get_level() > 1)
            {
                $data = ob_get_contents();
                ob_end_clean();
                
                $this->insertBufferedContent($data);
                
                echo $data;
            }
        }
     
        function insertBufferedContent(&$data)
        {
            if(!empty($this->buffered))
            {
                foreach($this->buffered as $contentID => $contentData)
                {
                    $search[] = ' <!--'.$contentID.'--> ';
                }
     
                $data = str_replace($search, $this->buffered, $data);
            }
        }
     
        function showBuffered($contentID)
        {
            if(ob_get_level() > 1)
            {
                echo '<!--'.$contentID.'-->';
            }
        }
        
        function setBuffered($contentID, $data)
        {
            $this->buffered[$contentID] = $data;
        }
    }
    
    $tm = new TM();

    даже комментировать не хочется

    Взято отсюда:
    http://blog.kpitv.net/article/how-to-set-title/
    Автор:
    http://govnokod.ru/user/13961

    dead_star, 09 Июня 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    string tempFolder = DateTime.Now.Year.ToString("0000") 
    	+  DateTime.Now.Month.ToString("00")
    	+ DateTime.Now.Day.ToString("00")
    	+ "-" + DateTime.Now.Hour.ToString("00")
    	+ DateTime.Now.Minute.ToString("00")
    	+ DateTime.Now.Second.ToString("00");

    Kronic, 07 Июня 2016

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

    +5

    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
    private string GetMinutes() 
    { 
          string minute = (DateTime.Now.Minute < 10) ? "0" + DateTime.Now.Minute.ToString() : DateTime.Now.Minute.ToString();  
    
          return minute; 
    }
    
    private string LogPath(string minute) 
    { 
         string logPath = Param.directory + @"\log(" + DateTime.Now.ToShortDateString() + " " 
                    + DateTime.Now.Hour.ToString() + "." + minute + ").txt"; 
         return logPath; 
    }
    
    string minute = GetMinutes(); //Минуты формата "мм" для имени файла ЛОГа. 
    return LogPath(minute);       //Путь файла ЛОГа

    dreamer, 06 Июня 2016

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

    −3

    1. 1
    { "destination_addresses" : [ "Seattle, Washington, USA" ], "origin_addresses" : [ "Vancouver, Britisch-Kolumbien, Kanada" ], "rows" : [ { "elements" : [ { "distance" : { "text" : "229 km", "value" : 229112 }, "duration" : { "text" : "2 Stunden, 35 Minuten", "value" : 9311 }, "status" : "OK" } ] } ], "status" : "OK" }

    viromax, 01 Июня 2016

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

    +5

    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
    //Collisions
    static float collisionradius;
    if(numplayers>1)
    	for(k=0;k<numplayers;k++){
    	for(i=k;i<numplayers;i++){
    	if(i==k)i++;
       			if(i<numplayers)
       					if((animation[player[i].targetanimation].attack!=reversed&&animation[player[i].targetanimation].attack!=reversal&&animation[player[k].targetanimation].attack!=reversed&&animation[player[k].targetanimation].attack!=reversal)||(i!=0&&k!=0))
       						if((animation[player[i].currentanimation].attack!=reversed&&animation[player[i].currentanimation].attack!=reversal&&animation[player[k].currentanimation].attack!=reversed&&animation[player[k].currentanimation].attack!=reversal)||(i!=0&&k!=0))
       							if(player[i].howactive<=typesleeping&&player[k].howactive<=typesleeping)
       								if(player[i].howactive!=typesittingwall&&player[k].howactive!=typesittingwall)
       									if(i!=k&&player[i].whichpatchx==player[k].whichpatchx&&player[i].whichpatchz==player[k].whichpatchz&&player[k].skeleton.oldfree==player[k].skeleton.free&&player[i].skeleton.oldfree==player[i].skeleton.free&&player[i].targetanimation!=climbanim&&player[i].targetanimation!=hanganim&&player[k].targetanimation!=climbanim&&player[k].targetanimation!=hanganim)
       										if(player[i].coords.y>player[k].coords.y-3)
       											if(player[i].coords.y<player[k].coords.y+3)
       												if(player[i].coords.x>player[k].coords.x-3)
       													if(player[i].coords.x<player[k].coords.x+3)
       														if(player[i].coords.z>player[k].coords.z-3)
       															if(player[i].coords.z<player[k].coords.z+3){
       																if(findDistancefast(&player[i].coords,&player[k].coords)<3*((player[i].scale+player[k].scale)*2.5)*((player[i].scale+player[k].scale)*2.5)){
      																	if(player[i].onfire||player[k].onfire){
      																		if(!player[i].onfire)player[i].CatchFire();
       																		if(!player[k].onfire)player[k].CatchFire();
       																	}
       																}
       																...

    http://hg.icculus.org/icculus/lugaru/file/97b303e79826/Source/GameTick.cpp#l7276

    gammaker, 25 Мая 2016

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    handleNewConfigRuleLoaded: function(
        this.handleConfigRuleLoaded0({rule: event.configRule}, true, false);
    },
    
    handleConfigRuleLoaded: function(event) {
        this.handleConfigRuleLoaded0(event.configRule, false, false);
    },

    Старый добрый бэкбон и не знания карринга

    NuclleaR, 24 Мая 2016

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