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

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

    +103.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static IntPtr StringToBSTR(string s)
    {
        //...
        if ((s.Length + 1) < s.Length)
        {
            throw new ArgumentOutOfRangeException("s");
        }
        //...
    }

    System.Runtime.InteropServices.Marshal Не знаю зачем это, но мне показалось смешным.

    psina-from-ua, 30 Января 2010

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

    +135.9

    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
    public class PlayerWindow
    {
        private readonly ScheduleManager _scheduleManager = new ScheduleManager();
    
    ...
    
        private void OpenSchedule(string timesheetFilename)
        {
            if (!_scheduleManager.OpenSchedule(timesheetFilename))
            {
                _isOpen = false;
                return;
            }
    
            _isOpen = false;
        }
    }

    Собственное творчество. ^_^

    spbAngel, 29 Января 2010

    Комментарии (9)
  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. C# / Говнокод #2414

    +144.2

    1. 1
    if ( strlen(f.ToString()) < 5 )

    Проверку булевской переменной.

    Говногость, 14 Января 2010

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

    +78.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public void pause(){
            Object lock=new Object();
            synchronized(lock){
                try{
                    lock.wait(1000);
                }catch(Exception e){
                    System.out.println(e.getMessage());
                }
            }
        }

    _jk_, 29 Декабря 2009

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

    +155.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php 
    
    $Fnm = $mosConfig_absolute_path .'/components/'.$option.'/cron.php';
    $inF = fopen($Fnm,"w");
    fwrite($inF,'<?php $last_cron_date='.$last_cron_date.';?>');
    fclose($inF);

    всеми любимая джумла... а точнее один из её компонентов... строка 1846-ая...

    почему собственно гадость:
    1. а если нету доступа на запись...
    2. не безопасно
    3. если в файле что-нибудь будет не так - обвалится весь сайт, потому как ошибко php
    4. я настороженно отношусь к файлам по 2246 - строк ... уж больно много всего...

    nicolay-punin, 29 Декабря 2009

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

    +124.3

    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
    Functions called:
     fflush (4 times)
     delete (11 times)
     fclose (1 times)
     free (11 times)
     fread (3 times)
     fopen (1 times)
     vsnprintf (4 times)
     new (11 times)
     SysReallocMem (652 times)
     SysFreeMem (13185 times)
     SysGetMem (13188 times)
     lstrlenA (1 times)
     lstrcpynA (4 times)
     calloc (1 times)
     strlen (98 times)
     realloc (1 times)
     strdup (1 times)
     malloc (8 times)
     memcpy (4 times)
    Resource types used:
     object (11 allocs, 11 max)
     memory block (13199 allocs, 4007 max)
     file stream (1 allocs, 1 max)
     file handle (1 allocs, 1 max)

    Nemerle, 29 Декабря 2009

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

    +59.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //и теперь шлём запрос письма
                        reply = QString("<iq type='get' from='%1' to='%2' id='mail-request-%3'>"\
                            "<query xmlns='google:mail:notify' %4 %5/></iq>")
                                .arg(from)
                                .arg(to)
                                .arg(id)
                                .arg((lastCheck.value(QString("%1").arg(account),"")=="")?QString(""):QString("newer-than-time='%1'").arg(lastCheck.value(QString("%1").arg(account))))
                                .arg((lastTid.value(QString("%1").arg(account),"")=="")?QString(""):QString("newer-than-tid='%1'").arg(lastTid.value(QString("%1").arg(account))));
                        stanzaSender->sendStanza(account, reply);

    Раскопано в недрах плагинов к psi:
    Особенно радует шедевральная конвертация int'а в строку при помощи QString("%1").arg(account),"")
    Плюс ко всему комменты на русском в интернациональном проекте это немножко моветон

    Sauron, 29 Декабря 2009

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

    +159.3

    1. 1
    echo '(!009`")24($!9l`342)+%2a' ^ '@@@@@@@@@@@@@@@@@@@@@@@@', PHP_EOL;

    [email protected], [email protected]

    HyperGeek, 23 Декабря 2009

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