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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. C++ / Говнокод #4772

    +147

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <algorithm>
    #include <vector>
    #include <string>
    
    #define N 5
    #define TSK "durak"
    
    using namespace std;
    
    int m[N];
    
    int main(void){
      freopen(TSK".in",  "rt", stdin);
      freopen(TSK".out", "wt", stdout);
    
      scanf("%d%d%d%d", &m[0], &m[1], &m[2], &m[3]);
    
      sort(m, m + 4);
    
      int ans(0);
    
      for(int i = 1; i < 4; i++){
        if(m[i] == m[i-1] && m[i] != 0)
          ans++;
      }
    
      printf("%d\n", ans);
    
      return 0;
    }

    MadMag, 27 Ноября 2010

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

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    void CVC6_SampleCodeDlg::OnCHECKForceGDI() 
    {
    	// TODO: Add your control notification handler code here
    	CButton *pBut = (CButton *) GetDlgItem(IDC_CHECK_ForceGDI);
    	m_vportsdk.SetForceGDI(pBut->GetCheck());	
    	if(pBut->GetCheck() == 0)
    		m_ForceGDI = false;
    	else if(pBut->GetCheck() == 1)
    		m_ForceGDI = true;
    }

    VPort ActiveX SDK PLUS от Moxa
    часть 3

    absolut, 27 Ноября 2010

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

    +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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    void CVC6_SampleCodeDlg::Onbuttonstartrecord() 
    {
    	// TODO: Add your control notification handler code here
    	CString strFileName, strFileTime, strFileSize, strTemp;
    
    	GetDlgItem(IDC_EDIT_filepath)->GetWindowText(strFileName);
    	GetDlgItem(IDC_EDIT_filetime)->GetWindowText(strFileTime);
    	GetDlgItem(IDC_EDIT_filelength)->GetWindowText(strFileSize);
    	GetDlgItem(IDC_button_startrecord)->GetWindowText(strTemp);
    
    	m_vportsdk.SetRecordVideoPath(strFileName);
    	m_vportsdk.SetRecordMaxFileTimeLength(atoi(strFileTime));
    	m_vportsdk.SetRecordMaxFileSize(atoi(strFileSize));
    
    	CComboBox *pRecordType = (CComboBox *) GetDlgItem(IDC_COMBO_recordtype);
    	if(strTemp == "Start Record"){
    		if(pRecordType->GetCurSel() == 0)
    			m_vportsdk.StartRecording(0);
    		else
    			m_vportsdk.StartRecording(1);
    		GetDlgItem(IDC_button_startrecord)->SetWindowText("Stop Record");
    	}
    	else{
    		if(pRecordType->GetCurSel() == 0)
    			m_vportsdk.StopRecording(0);
    		else
    			m_vportsdk.StopRecording(1);
    		GetDlgItem(IDC_button_startrecord)->SetWindowText("Start Record");
    	}
    }

    VPort ActiveX SDK PLUS от Moxa
    часть 2

    absolut, 27 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    function CalculateShippingCost() {
      return 20.00;
    }

    Из одного "реального" интернет-магазина!

    dwinner, 25 Ноября 2010

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