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

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

    +911

    1. 1
    case UP : o > 0 ? o-- : o = FIELD_SIZE - 1; break;

    Друг скинул в аську, попросил перевести в if-ную форму)))
    Не знаю где он это откопал)))

    k06a, 26 Апреля 2010

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

    +911

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    TVector4 V0;
    TVector4 V1;
    TVector4 V2;
    
    //....
    //Пример компилирующегося допустимого использования:
    (V0+V1)=V2;

    Нашёл я тут мега библиотеку в инете для работы с векторами. За такое нужно бить по рукам.

    Говногость, 20 Апреля 2010

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

    +908

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for (int i = ((x-1)>=0)?(x-1):0; i<=((x+1<=9)?(x+1):9); ++i)
    	for (int j = ((y-1)>=0)?(y-1):0; j<=((y+d<=9)?(y+d):9); ++j)
    		if (isplayer)
    		{
    			if (Board[i][j]->Alive)
    				return false;
    		}
    		else
    		{
    			if (EnBoard[i][j]->Alive)
    				return false;
    		}

    с++ такой с++

    xXx_totalwar, 23 Апреля 2010

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

    +908

    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
    template <typename Handler>
      void start_connect_op(socket_type descriptor,
          per_descriptor_data&, Handler handler)
      {
        boost::asio::detail::mutex::scoped_lock lock(mutex_);
        if (!shutdown_)
        {
          boost::shared_ptr<bool> completed(new bool(false));
          connect_handler_wrapper<Handler> wrapped_handler(
              descriptor, completed, *this, handler);
          bool interrupt = write_op_queue_.enqueue_operation(
              descriptor, wrapped_handler);
          interrupt = except_op_queue_.enqueue_operation(
              descriptor, wrapped_handler) || interrupt;
          if (interrupt)
            interrupter_.interrupt();
        }
      }

    Как дико зафрагментировать кучу?!
    Столько хороших идей и так много говнокода в реализации.
    //boost::shared_ptr<bool> completed(new bool(false)); - это один из шедевров кривокодирования!!!

    mock, 22 Апреля 2010

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

    +905.2

    1. 1
    2. 2
    3. 3
    4. 4
    if ( tmp - res == 11 )
    {
    tmp = tmp;
    }

    Нашел в проэкте сегодня. Кто отгадает, зачем этот код был нужен - тому ничего не будет.

    phizik, 14 Апреля 2010

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

    +901

    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
    char * b = new char[100];
                    int Length = 0;
                    while ( a[++Length] );
                        for ( int i = 0; i<= 10; i++ )
                          {
                                b[i] = a[i];
                          }
    
    
                        for ( int i = 0; i<= Length; i++ )
                          {
                                move ( y, x+i );
                                printw ( "%c", b[i] );
                          }
                     delete b;
                     return;

    вывод строки в ncurses.
    доставляет школота?

    MyParanoya, 17 Апреля 2010

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

    +899.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    char *z="group=";
    char *x="end group\n";
    char *text=new char[sizeof(z)+sizeof(x)+sizeof(groupName)+1];
    strcat(text, z);
    strcat(text, groupName);
    strcat(text, "\n");
    strcat(text, x);

    Нашел в исходниках одного менеджера паролей. Вот как надо формировать строки.

    hromjo, 18 Апреля 2010

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

    +890.7

    1. 1
    #define private public

    guest, 12 Декабря 2008

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

    +890

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Int64 iObjectId;
    
    public Int64 ObjectId
    {
        get { return iObjectId; }
        set {
             if (iObjectId == null) { value = 0; } else value = iObjectId;
        }
    }

    Помимо того, что условие (iObjectId == null) никогда не выполняется, сеттер еще и делает свойство ObjectId фактически readonly.
    (Авторское форматирование кода сохранено.)

    svetkeen, 15 Апреля 2015

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