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

    В номинации:
    За время:
  2. Куча / Говнокод #4946

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    orig_labels = sort(unique(Y));
        Y_new = Y;
        new_labels = 1:length(orig_labels);
        
        for i=1:length(orig_labels)
            Y_new(find(Y==orig_labels(i)))=Inf;
            Y_new(isinf(Y_new))=new_labels(i);
        end
        
        Y = Y_new;

    Matlab. Масштабирование. То есть типа вектор [100 230 400 300 230] переводится в [1 2 4 3 2].

    Можно было сделать внутри цикла "Y_new(Y == orig_labels(i)) = i".

    Побочным эффектом стало то, что если Y имеет элементы с типом не double, а int32 к примеру, то Inf превращается в maxint32, проверка isinf() возвращает false и код внезапно не работает.

    burdakovd, 16 Декабря 2010

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

    +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
    /**
    * custom_field_sort used to sort the custom fields array
    */
    	function custom_field_sort(&$array) {
    		if(!$array) return $keys;
    
    		$keys=func_get_args();
    
    		array_shift($keys);
    		custom_field_sort_func($keys);
    		usort($array, "custom_field_sort_func");
    	}

    Файл тот же что и http://govnokod.ru/4920, просто следующая функция.

    zabuhailo, 15 Декабря 2010

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

    +162

    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
    //__________________________________
    $id = $_POST['id']; 
    $fio = $_POST['fio']; 
    $adres = $_POST['adres']; 
    $pom = $_POST['pom']; 
    $s = $_POST['s']; 
    $data_dog = $_POST['data_dog']; 
    $stady = $_POST['stady']; 
    $prolоnga = $_POST['prolonga']; 
    $data = $_POST['data']; 
    $data_over = $_POST['data_over']; 
    $hows = $_POST['hows']; 
    $etazh = $_POST['etazh']; 
    $otn = $_POST['otn']; 
    $svid = $_POST['svid']; 
    //______________________________
    $dt = array ( 
    'id' => $id, 
    'fio' => $fio, 
    'adres' => $adres, 
    'pom' => $pom, 
    's' => $s, 
    'data_dog' => $data_dog, 
    'stady' => $stady, 
    'prolonga' => $prolonga, 
    'data' => $data, 
    'hows' => $hows, 
    'etazh' => $etazh, 
    'otn' => $otn, 
    'svid' => $svid, 
    ); 
    //______________________________________

    olshevskiy87, 11 Декабря 2010

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

    +160

    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
    <?
    .....................
    
    	if (isset($_GET['show_info'])) {
    		$wpTimeMachineOptionsStorage['show_info'] = $_GET['show_info'];
    	}
    
    	if (isset($_GET['use_log'])) {
    		$wpTimeMachineOptionsStorage['use_log'] = $_GET['use_log'];
    	}
    
    	if (isset($_GET['show_options'])) {
    		$wpTimeMachineOptionsStorage['show_options'] = $_GET['show_options'];
    	}
    
    	if (isset($_GET['format'])) {
    		$wpTimeMachineOptionsStorage['format'] = $_GET['format'];
    	}
    
    	if (isset($_GET['use_post_pub'])) {
    		$wpTimeMachineOptionsStorage['use_post_pub'] = $_GET['use_post_pub'];
    	}
    	
    	if (isset($_GET['use_timestamp_dir'])) {
    		$wpTimeMachineOptionsStorage['use_timestamp_dir'] = $_GET['use_timestamp_dir'];
    	}
    
    	if (isset($_GET['exclude_cache'])) {
    		$wpTimeMachineOptionsStorage['exclude_cache'] = $_GET['exclude_cache'];
    	}
    
    	if (isset($_POST['offsite'])) {
    		$wpTimeMachineOptionsStorage['offsite'] = $_POST['offsite'];
    	}
    
    	if (isset($_POST['remote_user'])) {
    		$wpTimeMachineOptionsStorage['remote_user'] = $_POST['remote_user'];
    	}
    
    	if (isset($_POST['remote_host'])) {
    		$wpTimeMachineOptionsStorage['remote_host'] = $_POST['remote_host'];
    	}
    
    	if (isset($_POST['remote_path'])) {
    		$wpTimeMachineOptionsStorage['remote_path'] = $_POST['remote_path'];
    	}
    .....................

    Плагин к Wordpress для бэкапов. Вроде свежий, умеет в DropBox и на Amazon S3 файлы класть, а вот поди ж ты.

    DaveBowman, 11 Декабря 2010

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

    +121

    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 static long generateUniqueSetID(DataContext context)
            {
                long id;
                do
                {
                    id = BitConverter.ToInt64(Guid.NewGuid().ToByteArray(), 0) - DateTime.UtcNow.Ticks;
                } while (s_sets.Contains(id));
    
                if (!context.Sets.Where(s => s.SetID == id).Any())
                {
                    s_sets.Add(id);
                    return id;
                }
    
                return generateUniqueSetID(context);
            }

    это как можно хоть с трудом и догадаться генерация уникального Id для вставки в таблицу. Таблицу чел делал сам и создавать ключик как int его никто не заставлял.

    eval_2009, 09 Декабря 2010

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

    −127

    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
    &НаКлиенте
    Процедура ПриЗакрытии()
    	ПроверитьНаОткрытие()
    КонецПроцедуры
    
    &НаСервере 
    Процедура ПроверитьНаОткрытие() 
    	Если Объект.Исполнитель =ПараметрыСеанса.ТекущийПользователь() И Не Объект.Просмотрено = Истина Тогда
    		Задача = Объект.Ссылка.ПолучитьОбъект();
    		Задача.Просмотрено = Истина;
    		Задача.Записать();
    	КонецЕсли;
    КонецПроцедуры

    cdpoma, 08 Декабря 2010

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

    +112

    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
    private void RefreshNewsList()
            {
                List<NewsObject> tempNewsList = new List<NewsObject>();
                tempNewsList.AddRange(lstOldNews.FindAll(delegate (NewsObject newsOld) 
                {
                    if (lstDeletedNewsIDs.Contains(newsOld.ID) || -1 == lstUpdatedNews.FindIndex(delegate(NewsObject newsUpdate)
                    {
                        if (newsUpdate.ID == newsOld.ID)
                            return true;
                        else
                            return false;
                    }))
                        return false;
                    else
                        return true;
                }));
                tempNewsList.AddRange(lstNewNews);
                tempNewsList.AddRange(lstUpdatedNews);
    
                lstNewsList.Items.Clear();
                lstNewsList.Items.AddRange(tempNewsList.ToArray());
            }

    не охота было лишние переменные использовать... ))) только что написал )) чудо родилось в 07,12,2010 16:44 ))) видно что пора домой..

    Maxim546, 07 Декабря 2010

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

    −190

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Запрос  для базы даных MySQL :
    
    $SQL=SELECT REPLACE( params,\ 
                    SUBSTRING(params,\ 
                        POSITION('thrift_port=' IN params),\ 
                        LENGTH('thrift_port=')+ LENGTH('11111') ),\ 
                    'thrift_port="${THRIFT_PORT}"')\
    FROM jos_plugins WHERE element='thrift'

    xaoc, 03 Декабря 2010

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

    −196

    1. 1
    2. 2
    3. 3
    4. 4
    ....
        SELECT * BULK COLLECT INTO dbg FROM debug_codes;
        FOR i IN 1..dbg.COUNT LOOP
    ....

    PL/SQL
    Вся таблица запихивается в коллекцию.
    2 миллиона строк — серверу плохо, скрипт работает около 8 часов.
    после исправления (в коллекцию вставляются строки пачками по 10 000 штук) стал работать полчаса.

    Oleg_quadro, 01 Декабря 2010

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

    +160

    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
    TINY.accordion=function(){
    	function slider(n){this.n=n; this.a=[]}
    	slider.prototype.init=function(t,e,m,o,k){
    		var a=T$(t), i=s=0, n=a.childNodes, l=n.length; this.s=k||0; this.m=m||0;
    		for(i;i<l;i++){
    			var v=n[i];
    			if(v.nodeType!=3){
    				this.a[s]={}; this.a[s].h=h=T$$(e,v)[0]; this.a[s].c=c=T$$('div',v)[0]; h.onclick=new Function(this.n+'.pr(0,'+s+')');
    				if(o==s){h.className=this.s; c.style.height='auto'; c.d=1}else{c.style.height=0; c.d=-1} s++
    			}
    		}
    		this.l=s
    	};
    	slider.prototype.pr=function(f,d){
    		for(var i=0;i<this.l;i++){
    			var h=this.a[i].h, c=this.a[i].c, k=c.style.height; k=k=='auto'?1:parseInt(k); clearInterval(c.t);
    			if((k!=1&&c.d==-1)&&(f==1||i==d)){
    				c.style.height=''; c.m=c.offsetHeight; c.style.height=k+'px'; c.d=1; h.className=this.s; su(c,1)
    			}else if(k>0&&(f==-1||this.m||i==d)){
    				c.d=-1; h.className=''; su(c,-1)
    			}
    		}
    	};
    	function su(c){c.t=setInterval(function(){sl(c)},20)};
    	function sl(c){
    		var h=c.offsetHeight, d=c.d==1?c.m-h:h; c.style.height=h+(Math.ceil(d/5)*c.d)+'px';
    		c.style.opacity=h/c.m; c.style.filter='alpha(opacity='+h*100/c.m+')';
    		if((c.d==1&&h>=c.m)||(c.d!=1&&h==1)){if(c.d==1){c.style.height='auto'} clearInterval(c.t)}
    	};
    	return{slider:slider}
    }();

    http://installauto.ru/ajax/script.js
    чья-то реализация аккордиона. и почему же оно хреново в ИЕ пашет?

    noRerih, 01 Декабря 2010

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