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

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

    +156

    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
    foreach ($item as $prop) {
                if ($prop['tag']==$this->props[0]){
                    $new_item['sku']=(int)$prop['value'];
                } else {
                    if ($prop['tag'] == $this->props[1]) {
                        $new_item['name']=$prop['value'];
                    } else {
                        if ($prop['tag'] == $this->props[2]) {
                            $new_item['price']=(float)$prop['value'];
                        } else {
                            if ($prop['tag'] == $this->props[3]) {
                                $new_item['is_spec']=(float)$prop['value'];
                            } else {
                                if ($prop['tag'] == $this->props[4]) {
                                    $new_item['spec_price']=(float)$prop['value'];
                                } else {
                                    if ($prop['tag'] == $this->props[5]) {
                                        $new_item['old']=(float)$prop['value'];
                                    }
                                }
                            }
                        }
                    }
                }
            }

    XML бессмысленный и беспощадный

    madfriend, 02 Октября 2013

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

    +151

    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
    class A {
        public function getUser() {
            .....
        }
        public function init() {
            ......
        }
    }
    
    class B extends A {
        ........
        // close some parent methods from outside
        public function getUser () {}
        public function init () {}
    }

    труЪ ООП: Инкапсуляция посредством полиморфизма!

    ragnar, 02 Октября 2013

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

    +107

    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
    public class Visit 
    {
    	public DateTime Start {get; set;}
    	public DateTime Finish {get; set;}
    }
    
    public bool IsConflict(Visit a, Visit b)
    {
    	var s = GetArray(a);
    	var s2 = GetArray(b);
    	return Compare(s,s2);
    }
    
    private List<string> GetArray(Visit visit)
    {
    	var list = new List<string>();
    	while (visit.Start < visit.Finish)
    	{ 
    	  list.Add(visit.Finish.ToString()); // в строках!
    	  visit.Finish -= TimeSpan.FromMinutes(1); // по 1й минуте!!!
    	}
    	return list;
    }
    private bool Compare(List<string> list1, List<string> list2)
    {
    
    	foreach (var s in list1)
    	{
    		if (list2.Any(x => x == s))
    		{
    			return false;
    		}
    	}
    	return true;
    }

    Основная здесь функция, предназначенная для вызова, - IsConflict(Visit a, Visit b)
    Она должна проверять, пересекаются ли меджу собой два промежутка времени.
    Вот такая проверка со сложностью O(n*n) , где n - кол-во минут в промежутках времени.

    kasitan, 18 Сентября 2013

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

    +154

    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
    /* Формируемый запрос через Ajax */
    function MakeSearchQuery() {
        searchQuery = "";
    
        if (SearchDataQuery.CityFrom != "") {
            searchQuery = "CityFrom=" + SearchDataQuery.CityFrom;
    
            if (SearchDataQuery.Country != "") {
                searchQuery += "&Country=" + SearchDataQuery.Country;
    
                if (SearchDataQuery.Station != "" && SearchDataQuery.Station != "&Station=") {
                    searchQuery += "&Station=" + SearchDataQuery.Station;
                }
                if (SearchDataQuery.Date != "" && SearchDataQuery.Date != "&Date=") {
                    searchQuery += "&Date=" + SearchDataQuery.Date;
                }
            }
        }
    }

    Формируемый Ajax запрос

    sladkijBubaleh, 04 Сентября 2013

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

    +121

    1. 1
    2. 2
    Держу - верчу вот, в руках сидюк. На обложке надпись: "Программирование для школькиков и студентов". 
    Вроде бы пустяк, но с недавних пор эта фраза для меня звучит весьма кощунственно.

    Stertor, 03 Сентября 2013

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

    +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
    public static function createShareUser($email) {
            $password = substr(md5(time()), 0, 8);
            $query =  "insert into users (username, email, realname, password) values ('".$email."','".$email."','".$email."','".md5($password)."')";
            $c = 0;
            while (!mysql_query($query) && $c < 100) {
    			LLogger::logError("[createUser] - MySql error (".$c."): [".implode(' *** ', DB::error_info()));
    			return false;
                $query = preg_replace('%_%' . ($c - 1), '_' . ($c), $query);
                $c++;
            }
        
            if ($c == 100) {
                LLogger::logError("[createUser] - More than 10 unnamed users exists.");
                return false;
            }
    
            $userId = LQuery::getLastInsertId();
            LUserRights::setUserRights($userId);
            return $userId;
        }

    //если у нас строка exists в БД, это что бы наверняка, а вдруг на 101 раз у нас ее не будет :)
    // ну или наконец, оно "волшебным" образом ее туда всетаки впихнет
    //мускул обидится на автора и сдастся, подумает, да ну тебя ты дебил хочешь так на!
    // автор просто Пикассо, что не фун-я то шедевр.

    vv3d0x, 02 Сентября 2013

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

    +163

    1. 1
    2. 2
    3. 3
    <?phg
    
    define( 'SCRIPT_TIME_LIMIT', 60 * 30 ); // 45 minutes

    shmaltorhbooks, 02 Сентября 2013

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!defined('_JDEFINES'))
    {
    	define('JPATH_BASE', dirname(__DIR__));
    	require_once JPATH_BASE . '/includes/defines.php';
    }

    Я такого даже у индусов не встречал! Джумла: чем дальше тем страшнее...

    virtual_cia, 01 Сентября 2013

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

    +133

    1. 1
    hq->rd_period = (i = hq->rd_period+1) != 0 ? i : 1;

    что именно хотел сказать автор, неизвестно. предполагаю что `while (!++hq->rd_period);`

    Dummy00001, 28 Августа 2013

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

    +149

    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
    $finalTimeNews = '';
    $timeNews = strftime('%#d %B', strtotime($article->created));
    if($language->language === 'ru')
    {
    	$months_pattern = explode('|', 'Январь|Февраль|Март|Апрель|Май|Июнь|Июль|Август|Сентябрь|Октябрь|Ноябрь|Декабрь');
    	$months_grammar = explode('|', 'Января|Февраля|Марта|Апреля|Мая|Июня|Июля|Августа|Сентября|Октября|Ноября|Декабря');
    	for($i = 0; $i <= 11; $i++)
    	{
    		//$months_grammar[0];
    	}
    	$art_date = explode(' ', $timeNews);
    	for($i = 0; $i <= 11; $i++)
    	{
    		if($art_date[1] === $months_pattern[$i])
    		{
    			$finalTimeNews = $art_date[0] . ' ' . $months_grammar[$i];
    			break;
    		}
    	}
    	unset($months_pattern, $months_grammar, $art_date);
    }

    Новобраней постарался

    Edd, 27 Августа 2013

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