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

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

    +87

    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
    procedure makeWord(var str : string; var word : string);
    var j, p,tp : integer;
    begin
    	j:= 1;
    	p := pos(' ', str);
    	if (p = 0) then p:= length(str);
    	word := copy(str, 0, p);
    	delete(str, 0, p);
    	while (str[j] = ' ') or (str[j] = ''#9'') do begin
    		Inc(j);
    	end;
    	if (j > 0) then begin 
    		delete(str,0,j-1);
    	end;
    end;
    	
    var		i,p,n : integer;
    			str, word : string;
    begin
    	str := 'I   		 want to   tell   you!';
    	readln(n);
    	for i:= 1 to n do begin
    		makeWord(str,word);
    		writeln(word);
    	end;
    	readln;
    end.

    Программа выводит первые n слов строки

    ckiD, 21 Февраля 2012

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

    +155

    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
    data = Ext.JSON.decode(resp.responseText);
                Ext.getCmp('id').setValue(id);
                Ext.getCmp('address').setValue(data.address);
                Ext.getCmp('dateImp').setValue(data.dateImp);
                Ext.getCmp('numberCompl').setValue(data.numberCompl);
                Ext.getCmp('dateReg').setValue(data.dateReg);
                Ext.getCmp('numberOut').setValue(data.numberOut);
                Ext.getCmp('dateOut').setValue(data.dateOut);
                Ext.getCmp('inResolution').setValue(data.inResolution);
                Ext.getCmp('inFio').setValue(data.inFio);
                Ext.getCmp('shortText').setValue(data.shortText);
                Ext.getCmp('dateControl').setValue(data.dateControl);
                Ext.getCmp('dateClose').setValue(data.dateClose);
                Ext.getCmp('dateChange').setValue(data.dateChange);
                //            Ext.getCmp('department').setValue(data.department);
                //            Ext.getCmp('userview').setValue(data.userName);
                Ext.getCmp('useredit').setRawValue(data.user);
                Ext.getCmp('statusCompl').setRawValue(data.statusCompl);
                Ext.getCmp('description').setValue(data.description);
                
                if (data.canAdmin) {
                    Ext.getCmp('useredit').show();
                    //                Ext.getCmp('userview').hide();
                    Ext.getCmp('removeButton').show();
                    Ext.getCmp('copyComp').show();             
                } else {
                    Ext.getCmp('useredit').hide();
                    //                Ext.getCmp('userview').show();
                    Ext.getCmp('removeButton').hide();
                    Ext.getCmp('copyComp').hide();
                }
                
                if (data.canEdit) {
                    Ext.getCmp('save').hide();
                }
            }

    проект на Ext.js4
    Много Ext.getCmp('');
    Весь код - сплошная каша, динамическая загрузка Ext.js4 не используется, прикручено require.js,
    ни одного класса.

    maxt, 18 Февраля 2012

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

    +116

    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
    bool IsAdd = false;
    
    
                if (EditAnalysisTable.Rows.Count == 1)
                {
                    if (EditAnalysisTable.Rows[0][4].ToString() == string.Empty)
                    {
                        drow = EditAnalysisTable.Rows[0];
                    }
                    else
                    {
                        IsAdd = true;
                    }
                }
                else
                {
                    IsAdd = true;
                }
                if (IsAdd)
                {
                    drow = EditAnalysisTable.NewRow();
                    EditAnalysisTable.Rows.Add(drow);
                }

    Indian style: у них свои законы логики

    Nataly, 17 Февраля 2012

    Комментарии (2)
  5. Куча / Говнокод #9452

    +132

    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
    <script type="text/javascript" src="/js/common.js"></script>
    <script type="text/javascript"> 
             SiteExplorer.getContent = function() {
                return '<ul>'
       +   '<li><a href="/" class="page">Главная Siemens</a></li>'
          +'<li class="collapsed">'
                      +'<a href="javascript:void(0);" class="collapsed" id="2168"></a><a href="/solutions_and_services/" class="none">Решения и услуги</a>'
                      +'<ul>'
                      +'<li class="collapsed">'
                      +'<a href="javascript:void(0);" class="collapsed" id="2176"></a><a href="/solutions_and_services/energy/" class="none">Энергетика</a>'
                      +'<ul>'
                      +'<li><a href="/solutions_and_services/energy/pg/" class="page">Производство энергии на ископаемом топливе</a></li>'
                +'<li><a href="/solutions_and_services/energy/ptd/" class="page">Энергия из возобновляемых источников</a></li>'
                +'<li><a href="/solutions_and_services/energy/sis/" class="page">Нефть и газ</a></li>'
                +'<li><a href="/solutions_and_services/energy/2180/" class="page">Сервис энергетического оборудования</a></li>'
                +'<li><a href="/solutions_and_services/energy/2181/" class="page">Передача энергии</a></li>'
                
                      +'</ul>'
                   +'</li>' 
    /* ещё сотни две строк */
    +'<li><a href="/suppliers/" class="page">Поставщикам</a></li>'
                
       +'</ul>';
             }
    </script>
    <link href="/gallery/css/lightwindow.css" type="text/css" rel="stylesheet"></link>

    http://w3.siemens.ru/jobs_careers/

    faiwer, 16 Февраля 2012

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

    +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
    $orders = $DB->Query("INSERT INTO `zcrm_orders` SET 
        `ORDER_NUMBER` = '09/".str_pad($arEventFields['ORDER_ID'], 6, '0', STR_PAD_LEFT)."', 
        `DATETIME` = '".$dateOrder."', 
        `FIO` = '".$arEventFields['ORDER_PROP_7']."', 
        `NAME_ORGANIZATION` = '".$arEventFields['ORDER_PROP_1']."', 
        `TELEFON` = '".$arEventFields['ORDER_PROP_4']."', 
        `TELEFON_MOD` = '".preg_replace('/[^\d]+/','', $arEventFields['ORDER_PROP_4'])."',
        `EMAIL` = '".$arEventFields['ORDER_PROP_6']."', 
        `OPLATA` = '8', 
        `DOSTAVKA` = '".$_POST["id_dostavka"]."', 
        `CITY` ='".$arEventFields['NASPUNKT_DOSTAVKA']."',
        `PUNKT_DOSTAVKA` = '".$arEventFields['ADRESS_DOSTAVKA']." ".$arEventFields['SKLAD_DOSTAVKA']."',
        `DATE_DOSTAVKA` = '".$arEventFields['DATE_DOSTAVKA']."', 
        `TIME_DOSTAVKA` = '".$arEventFields['TIME_DOSTAVKA']."', 
        `PRICE_DOSTAVKA` = '".$arEventFields['PRICE_DELIVERY2']."', 
        `COMMENTS` = '".$arOrder['USER_DESCRIPTION']."' ");

    Внимательно смотрим на 10 строчку.

    ast, 15 Февраля 2012

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    dData->RowCount++;
    
             for (int i = 0; i < dData->RowCount - 1; i++)
                   for (int j = 0; j < dData->ColumnCount; j++)
                        dData->Rows[i]->Cells[j]->Value = dData->Rows[i + 1]->Cells[j]->Value;

    Мучил седня DataGridView, при dData->RowCount++ создавалась новая строчка в таблице, но только сверху. Остальное съезжало вниз на 1 ячейку. Я боролся полчаса с этим, пока не объяснил проблему товарищу. он предложил свой вариант всего кода:
    dData->Rows->Add();
    :DDDD

    idec, 14 Февраля 2012

    Комментарии (2)
  8. VisualBasic / Говнокод #9394

    −110

    1. 1
    2. 2
    If f <> "" Then Shell(Path, AppWinStyle.Hide)
            If f = "" Then Shell(Path)

    Угу, про Else тогда еще не слышали :)

    ipro, 12 Февраля 2012

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

    +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
    function mydebug($arr1=array(), $narr1='', $arr2=array(), $narr2='', $arr3=array(),$narr3='',$arr4=array(),$narr4='',$arr5=array(),$narr5='',$arr6=array(),$narr6='',$arr7=array(),$narr7='' ) {
    	$var = 'arr';
    	$nvar =  'narr';
    	$quit = false;
    	for($i=1; $i<8; $i++) {
    		if(${$var.$i} == 'exit' ) {
    				$quit = true;
    				continue;
    			}
    			 
    			elseif( !is_array(${$var.$i}) || is_array(${$nvar.$i})) {
    				${$var.$i} = false;
    				${$nvar.$i} = false;
    			}
    			 
    			elseif(!empty(${$var.$i})) {
    				echo ${$nvar.$i}.'<br>';
    				var_dump(${$var.$i});
    				echo "<hr>";
    			}
    			 
    			else continue;
    	}
    	if($quit == true) {
    		exit;
    	}
    }

    breathe, 10 Февраля 2012

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

    +132

    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
    #define COMMAND_MARKER		'\x1B'
    #define COMMAND_SET			'='
    #define COMMAND_XOR			'^'
    #define COMMAND_OR			'|'
    #define COMMAND_AND			'&'
    
    void usbWriteOut(uchar *data, int len)
    {
    	while(len--) {
    		uchar c = *data;
    		buf[0] = buf[1];
    		buf[1] = buf[2];
    		buf[2] = buf[3];
    		buf[3] = c;
    		
    		if(buf[0] == COMMAND_MARKER) {
    			uint8_t val = (hex2u(buf[2]) << 4) | hex2u(buf[3]);
    			if(buf[1] == COMMAND_SET) {
    				colorData = val;
    			}
    			else if(buf[1] == COMMAND_XOR) {
    				colorData ^= val;
    			}
    			else if(buf[1] == COMMAND_OR) {
    				colorData |= val;
    			}
    			else if(buf[1] == COMMAND_AND) {
    				colorData &= ~val;
    			}
    		}
    	}
    }

    Простой баг оказался крайне подлым!
    При тестировании девайса терминалкой и чепятании команды ручками, каждый символ уходил в отдельном пакете и создавалось впечатление, что всё работает.
    После чего девайс был собран с применением большого количества термоклея, так что исправление бага оказалось совершенно непростым занятием >_<

    odmin, 09 Февраля 2012

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

    +1014

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #ifndef _WIN32
        std::ostream  * dpOutputStream;
    #else
            ostream  * dpOutputStream;
    #endif

    делаем код портабельным.

    Dummy00001, 08 Февраля 2012

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