1. C++ / Говнокод #18266

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    if (currentValueP > 1 || currentValueP < 1)
    valueIsCorrect = false;
    else if (currentValueP == 1)
    valueIsCorrect = true;

    бесплатно valueIsCorrect = currentValueP == 1;

    belozorov63, 01 Июня 2015

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

    +145

    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
    #include <cstdio>
    
    class A
    {
    public:
    	void sayHello()
    	{
    		printf("Hello!");
    	}
    };
    
    int main(int argc, char **argv)
    {
    	A *a = 0;
    	a->sayHello();
    	return 0;
    }

    Что выведет этот код?

    hdkeeper, 29 Мая 2015

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

    +141

    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
    LoggerSngl::instance()->Trace("Заходим под семафор.");
    				QPRFQueueSemaphoreSngl::instance()->Lock(); //Гыгы.
    				{
    					LoggerSngl::instance()->Trace("Зашли под семафор.");
    					CSingleLock lock(QPREFQueueMutexSngl::instance().get(), TRUE);
    					LoggerSngl::instance()->Trace("Получение задачи из очереди...");
    					qprfTask = std::dynamic_pointer_cast<QPRFTask>(_tasks.front());
    					_tasks.pop();
    					LoggerSngl::instance()->TraceFmt("Получили задачу из очереди. Остаток длины %d.", _tasks.size());
    				}
    
    				if (qprfTask->isFinishTask())
    				{
    					CoUninitialize();
    					release_chckxml_lib();
    					qprfTask->semaphore()->Unlock();
    					_endthreadex(0);
    				}

    laMer007, 22 Мая 2015

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

    +144

    1. 1
    sleh = UpCase(92); // просто слеш

    Просто слеш.

    bormand, 22 Мая 2015

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

    +142

    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
    QString queryString = QString("SELECT `angle`, `heights` FROM `heights%1` WHERE `angle` / 10 ").arg(camera->cid());
    
    	if (from <= 0 || to > 360)
    	{
    		if (from <= 0) // to the right of North
    		{
    			from += 360;
    
    			qSwap<double>(from, to);
    		}
    		else if (to > 360) // to the left of North
    		{
    			to -= 360;
    
    			qSwap<double>(from, to);
    		}
    
    		from += 0.1;
    		to -= 0.1;
    
    		queryString += "NOT ";
    	}
    
    	queryString += QString("BETWEEN %1 AND %2").arg(from, 0, 'f', 1).arg(to, 0, 'f', 1);

    извращался как мог, сколько дадите по шкале от 0 до 10?

    Wexter, 22 Мая 2015

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ...
    GameItem* new_game_item = GetGameItem(id);
    bool flag = !new_game_item;
    if (flag)
    {
        new_game_item = new GameItem();
    }
    ...

    Меня больше всего поразило название локальной переменной new_game_item, которая чаще даже совсем не new. Но кого это волнует...

    pomahin, 20 Мая 2015

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

    +906

    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
    class LoaderLock
    	{
    	public:
    		void lock();
    		void unlock();
    		bool IsLocked() const;
    		LoaderLock() = default;
    
    	private:
    		LoaderLock(LoaderLock&) = delete;
    		LoaderLock(LoaderLock&&) = delete;
    		LoaderLock& operator=(LoaderLock&) = delete;
    		LoaderLock& operator=(LoaderLock&&) = delete;
    		bool _Locked = false;
    		ULONG _cookie = 0;
    		std::unique_ptr<void, std::function<void(void*)>> _ntdll{ LoadLibrary("NTDLL.DLL"), [](void* h){if (h)FreeLibrary((HMODULE)h); } };
    		typedef NTSTATUS(__stdcall*LdrLockLoaderLockFunc)(
    			ULONG Flags,
    			ULONG *State,
    			ULONG *Cookie);
    		LdrLockLoaderLockFunc _LdrLockLoaderLock = !_ntdll ? 0 : (LdrLockLoaderLockFunc)GetProcAddress((HMODULE)_ntdll.get(), "LdrLockLoaderLock");
    		typedef NTSTATUS(__stdcall*LdrUnlockLoaderLockFunc)(
    			ULONG Flags,
    			ULONG Cookie);
    		LdrUnlockLoaderLockFunc _LdrUnlockLoaderLock = !_ntdll ? 0 : (LdrUnlockLoaderLockFunc)GetProcAddress((HMODULE)_ntdll.get(), "LdrUnlockLoaderLock");
    	};

    Уже давно минул 2014 год, а C++11 не перестает радовать нас размазанными по интерфейсу конструкторами и деструкторами.

    LispGovno, 18 Мая 2015

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    int spisok::kolvo()
    {
    	return spisok::N;
    }

    KGOH, 17 Мая 2015

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

    +142

    1. 1
    2. 2
    #define ns 7
    #define nfio 15

    Клевый стиль определения глобальных констант

    KGOH, 17 Мая 2015

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

    +141

    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
    BitBtn1->Enabled=false;
    
    String KolDaysInMonth=MonthDays[IsLeapYear(Edit1->Text.ToInt())][ComboBox1->ItemIndex];//кол-во дней в месяце выбранного года
    String TimeOT="cast('"+String(ComboBox1->ItemIndex+1)+".01."+Edit1->Text+" 00:00:00' as datetime)";
    String TimeDO="cast('"+String(ComboBox1->ItemIndex+1)+"."+KolDaysInMonth+"."+Edit1->Text+" 23:59:59' as datetime)";
    String BTWOTDO="BETWEEN "+TimeOT+" and "+TimeDO;
    AnsiString NomZav="";
    AnsiString NomPar="";
    
    //заявки
    ADOQuery1->Close();                                                                //and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and nomopr IN (select distinct nomoprl from kompar.dbf where deleted=0 and nompar IN (select distinct nompar from kompar.dbf where deleted=0 and datzaob NOT "+BTWOTDO+")))
    ADOQuery1->SQL->Clear();                                                                    //and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and dakote NOT "+BTWOTDO+")
    ADOQuery1->SQL->Add("select distinct nomzav from ochzav.dbf where deleted=0             and dakote "+BTWOTDO+" and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and dakote>"+TimeDO+")              and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and nomopr IN (select distinct nomoprl from kompar.dbf where deleted=0 and datzaob IS NULL))                 and nomzav NOT IN (select distinct nomzav from ochzav.dbf where deleted=0 and nomopr IN (select distinct nomoprl from kompar.dbf where deleted=0 and nompar IN (select distinct nompar from kompar.dbf where deleted=0 and nomoprl IN (select distinct nomopr from ochzav.dbf where deleted=0 and dakote IS NULL))))");
    ADOQuery1->Open();
    if (!ADOQuery1->Eof) {//если что то нашлось
    while (!ADOQuery1->Eof) {
    NomZav=NomZav+"'"+ADOQuery1->FieldByName("nomzav")->AsString.Trim()+"',";
    ADOQuery1->Next();
    }
    NomZav=NomZav.Delete(NomZav.Length(),1);//обрезаем запятую на конце
    
    //партии
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();                                                            //and nompar NOT IN (select distinct nompar from kompar.dbf where deleted=0 and datzaob NOT "+BTWOTDO+")
    ADOQuery1->SQL->Add("select distinct nompar from kompar.dbf where deleted=0                      and nompar IN (select distinct nompar from kompar.dbf where deleted=0 and nomoprl IN (select distinct nomopr from ochzav.dbf where deleted=0 and nomzav IN ("+NomZav+")))");
    ADOQuery1->Open();
    if (!ADOQuery1->Eof) {//если что то нашлось
    while (!ADOQuery1->Eof) {
    NomPar=NomPar+"'"+ADOQuery1->FieldByName("nompar")->AsString.Trim()+"',";
    ADOQuery1->Next();
    }
    NomPar=NomPar.Delete(NomPar.Length(),1);//обрезаем запятую на конце
    
    }
    }
    
    
    if (NomZav.Trim().Length()==0||NomPar.Trim().Length()==0) {
    ShowMessage("Не найденно завершённых заявок и партий за "+ComboBox1->Text+" "+Edit1->Text+" года");
    BitBtn1->Enabled=true;
    Abort();
    }
    
    if (Application->MessageBoxA(AnsiString("Вы действительно хотите удалить все завершённые заявки и партии за "+ComboBox1->Text+" "+Edit1->Text+" года?\n\n"
    "Завершённые заявки: "+NomZav+"\nЗавершённые партии: "+NomPar).c_str(),"Удаление завершённых заявок и партий",MB_YESNO)==IDYES) {
    
    //удаление партий из ochpar.dbf
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("update ochpar.dbf set deleted=1 where deleted=0 and nompar IN ("+NomPar+")");
    ADOQuery1->ExecSQL();
    
    //удаление партий из kompar.dbf
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("update kompar.dbf set deleted=1 where deleted=0 and nompar IN ("+NomPar+")");
    ADOQuery1->ExecSQL();
    
    //удаление заявок из ochzav.dbf
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("update ochzav.dbf set deleted=1 where deleted=0 and nomzav IN ("+NomZav+")");
    ADOQuery1->ExecSQL();
    
    ShowMessage("Удаление партий и заявок за "+ComboBox1->Text+" "+Edit1->Text+" года завершено успешно");
    }
    
    BitBtn1->Enabled=true;
    }

    vr8h, 16 Мая 2015

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