1. PHP / Говнокод #2434

    +171.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class BaseDateTimeField extends SmartField{
    var $years = array("1999"=>"1999","2000"=>"2000","2001"=>"2001","2002"=>"2002","2003"=>"2003","2004"=>"2004","2005"=>"2005","2006"=>"2006","2007"=>"2007","2008"=>"2008","2009"=>"2009","2010"=>"2010");
    var $months = array('01'=>'Jan','02'=>'Feb', '03'=>'Mar', '04'=>'Apr', '05'=>'May', '06'=>'Jun', '07'=>'Jul', '08'=>'Aug','09'=>'Sep', '10'=>'Oct', '11'=>'Nov', '12'=>'Dec');
    var $days = array('01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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');
    var $hours = array('00'=>'00','01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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');
    var $minutes = array('00'=>'00','01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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','55'=>'55','56'=>'56','57'=>'57','58'=>'58','59'=>'59');
    var $secundes = array('00'=>'00','01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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','55'=>'55','56'=>'56','57'=>'57','58'=>'58','59'=>'59');
    
    }

    Самописная CMS для веб-сайта

    nikl, 18 Января 2010

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

    +151.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class BaseDateTimeField extends SmartField{
    var $years = array("1999"=>"1999","2000"=>"2000","2001"=>"2001","2002"=>"2002","2003"=>"2003","2004"=>"2004","2005"=>"2005","2006"=>"2006","2007"=>"2007","2008"=>"2008","2009"=>"2009","2010"=>"2010");
    var $months = array('01'=>'Jan','02'=>'Feb', '03'=>'Mar', '04'=>'Apr', '05'=>'May', '06'=>'Jun', '07'=>'Jul', '08'=>'Aug','09'=>'Sep', '10'=>'Oct', '11'=>'Nov', '12'=>'Dec');
    var $days = array('01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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');
    var $hours = array('00'=>'00','01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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');
    var $minutes = array('00'=>'00','01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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','55'=>'55','56'=>'56','57'=>'57','58'=>'58','59'=>'59');
    var $secundes = array('00'=>'00','01'=>'01','02'=>'02','03'=>'03','04'=>'04','05'=>'05','06'=>'06','07'=>'07','08'=>'08','09'=>'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','55'=>'55','56'=>'56','57'=>'57','58'=>'58','59'=>'59');
    
    }

    Самописная CMS для веб-сайта

    nikl, 18 Января 2010

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

    +144.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
    #include <iostream>
    using namespace std;
    int print_out(int num);
    int main() {
    int n;
    cout << "Введите число: " << endl;
    cin >> n;
    cout << "Целые числа до " << n << ":" << endl;
    cout << print_out(n);
    }
    int print_out(int n) {
    int i;
    for (i=1; i<n;++i)
    cout << i << " ";
    return i;
    }

    Как это работает?

    BiLLy, 18 Января 2010

    Комментарии (5)
  4. Assembler / Говнокод #2430

    +246.7

    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
    proc mltcoef
              push ecx
              xor ecx,ecx
              xor edx,edx
              xor ebx,ebx
              mov eax,dword[coef+edx]
              _b:
              add [coef+edx],eax
              jc _c
              _e:
              cmp ecx,9
              jne _b
              inc ecx
    
              _c
              push edx
              _d
              add edx,4
              add [coef+edx],1
              jc _d
              pop edx
              jmp _e
              pop ecx
              ret
              endp

    Пока я писалвысирал эту НЁБ, я уже забыл, зачем оно было нужно.

    Leo_ня, 18 Января 2010

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

    +62.8

    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
    bool failed = true;
    	int count = 0;
    	do
    	{
    		{
    			ADO cnn( service().connectionString() );
    			if (count == 0)
    			{
    				_RecordsetPtr rs = cnn.Command(L"SELECT MAX(MessNo) as MAXNO FROM RobotLog", ADODB::adCmdText)
    					.Execute();
    				if (rs->EndOfFile == VARIANT_FALSE)
    				{
    					vt = rs->Fields->Item[L"MAXNO"]->Value;
    					if (vt.vt != VT_NULL)
    						messNo = vt.lVal + 1;
    				}
    				rs->Close();
    			}
    			else
    				messNo++;
    			try
    			{
    				cnn.Command(L"INSERT INTO RobotLog(MessNo,MessType,MessDate,MessText,Empl_Code,CompName,Robot_Code, "
    					L"Robot_Name,Doc_Name,Doc_No,Doc_CardDate) VALUES(?,?,?,?,?,?,?,?,?,?,?)", ADODB::adCmdText)
    					.CreateParameter(messNo)
    					.CreateParameter((long) messType)
    					.CreateParameter((DATE) COleDateTime::GetCurrentTime())
    					.CreateParameter(bstr_t(messText.AllocSysString()))
    					.CreateParameter((long)m_EmplCode)
    					.CreateParameter(service().computerName())
    					.CreateParameter((long)m_ID)
    					.CreateParameter(sRobotName)
    					.CreateParameter(sDocName, false)
    					.CreateParameter(sDoc_No, false)
    					.CreateParameter(dCardDate)
    					.Execute();
    				failed = false;
    			}
    			catch(_com_error& )
    			{
    //				DebugMsgE("CRobotThread::LogRobotWork[%s] error: 0x%08x::%s - %s. Attempt #:%d", (const char*)m_RobotName, err.Error(), (const char*) err.Description(), 
    //					(const char*) err.ErrorMessage(), count);
    			}
    		}
    		count++;
    		Sleep(100);
    	}while (failed && count < 10000);

    Вычисляемое значение 'messNo' прописывается в PK. Код выполняется мультипоточночно, примерно из 5 - 15 одновременно работающих потоков.
    Вот такая вот попытка 10000 раз прописать неуникальное значение первичного ключа :)
    Но, самое смешное, что на моё предложение перенести заботу об уникальности и инкрементации в SQL, мне было велено "не умничать, ЭТО правильный алгоритм !...".

    UncleVova, 18 Января 2010

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

    +166.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
    var val = value.match(/^(-?\d*)n((\+|\-)(\d+))?$/);
    var v1 = (val[1] == "-") ? -1 : parseInt(val[1]);	// A/-
    var v3 = val[3];			// +/-
    var v4 = parseInt(val[4]);	// B
    var k = 0;
    for (var k = 0; k < children2.length; k++) {
    	if (!val[1] && !val[3] && !val[4] && (children2[k] == elements[j])) { // n
    		buf.push(children2[k]);
    	} else if (!!val[1] && !val[3] && !val[4] && (children2[v1 * k + v1 - 1] == elements[j])) { // An
    		if (v1 >= 0 && v1 * k + v1 - 1 < children2.length) buf.push(children2[v1 * k + v1 - 1]);
    	} else if (!val[1] && !!val[3] && !!val[4] && (children2[v3 == "+" ? (k + v4 - (v4 == 0 ? 0 : 1)) : (v3 == "-" ? k : "")] == elements[j])) { // n+B
    		if (v3 == "+" && (k + v4 - (v4 == 0 ? 0 : 1)) < children2.length) {
    			buf.push(children2[k + v4 - (v4 == 0 ? 0 : 1)]);
    		} else if (v3 == "-") {
    			buf.push(children2[k]);
    		}
    	} else if (!!val[1] && !!val[3] && !!val[4] && (children2[v3 == "+" ? (v1 * k + (v4 == 0 ? (v1 - 1) : 0) + v4 - (v4 == 0 ? 0 : 1)) : (v3 == "-" ? (v1 * k + (v4 == 0 ? (v1 - 1) : 0) - v4 - (v4 == 0 ? 0 : 1)) : "")] == elements[j])) { // An+B
    		if (v3 == "+" && (v1 * k + (v4 == 0 ? (v1 - 1) : 0) + v4 - (v4 == 0 ? 0 : 1)) >= 0 && (v1 * k + (v4 == 0 ? (v1 - 1) : 0) + v4 - (v4 == 0 ? 0 : 1)) < children2.length) {
    			buf.push(children2[v1 * k + (v4 == 0 ? (v1 - 1) : 0) + v4 - (v4 == 0 ? 0 : 1)]);
    		} else if (v3 == "-" && (v1 * k + (v4 == 0 ? (v1 - 1) : 0) - v4 - (v4 == 0 ? 0 : 1)) >= 0 && (v1 * k + (v4 == 0 ? (v1 - 1) : 0) - v4 - (v4 == 0 ? 0 : 1)) < children2.length) {
    			buf.push(children2[v1 * k + (v4 == 0 ? (v1 - 1) : 0) - v4 - (v4 == 0 ? 0 : 1)]);
    		}
    	}
    }

    ГК собственного сочинения. Пытался самостоятельно реализовать обработку псевдоселектора :nth-child(An+B) на JavaScript...

    Cr@ZyBoY, 17 Января 2010

    Комментарии (8)
  7. Куча / Говнокод #2427

    +80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Очередное обновление на сайте Говнокод.ру!
    
    Что нового:
    1) отсылка комментариев по Ctrl+Enter
    2) Новый раздел "Сток", в котором будут собраны последнии комментарии
    3) Мы наконец-то починили отсылку почты с сайта!
    4) Из мелочей следует отметить сервис восстановления забытых паролей и автоматическое скрытые заминусованных комментариев
    5) Говнокод.ру еще быстрее и еще стабильнее!

    По всем вопросам, предложениям и баг-репортам обращаться по контактам, указанным на странице "Обратная связь" (ссылка внизу страницы)

    striker, 17 Января 2010

    Комментарии (72)
  8. Си / Говнокод #2426

    +144.8

    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
    __inline BOOL
    SearchOneDirectory(
                      IN  LPSTR Directory,
                      IN  LPSTR FileToFind,
                      IN  LPSTR SourceFullName,
                      IN  LPSTR SourceFilePart,
                      OUT PBOOL FoundInTree
                      )
    {
        //
        // This was way too slow. Just say we didn't find the file.
        //
        *FoundInTree = FALSE;
        return(TRUE);
    }

    Оптимизация by Microsoft. Шедевр из утёкших в 2004 году исходников Windows, заставило посмеятся, веселые у Микрософта заглушки

    Sauron, 16 Января 2010

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

    +144.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /*
      Func get_top($msg_number,$lines)
      Access: Public
    */
    function get_top( $msg_number , $lines = "0" )
    {
     // ....
    }

    Очень ценный комментарий к функции, о одном классе.. Более того, там все каменты в этом стиле. Кэп снова с нами!

    mE, 16 Января 2010

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

    +65

    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
    for(;;)
        {
            try
            {
                game();
            }
            catch(game_end e)
            {
                if(e.reason == GAME_WIN)
                {
                    printf("** Would you like to play again? (y-n) ");
                    if(get_y_n()) continue;
                    break;
                }
                else if(e.reason == GAME_LOSE)
                {
                    printf("** Try again? (y-n) ");
                    if(get_y_n()) continue;
                    printf("** Are you coward? (y-n) ");
                    if(get_y_n()) break;
                    printf("** Try again? (y-n) ");
                    if(get_y_n()) continue;
                    break;
                }
                else if(e.reason == GAME_RESTART)
                {
                    continue;
                }
                else
                {
                    break;
                }
            }
        }

    Писал игру в школе

    GovnocoderJr, 16 Января 2010

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