1. Список говнокодов пользователя Говногость

    Всего: 188

  2. C++ / Говнокод #5532

    +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
    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
    class Recode
    {
    private:
    	union
    	{
    		INT16U gg;
    		unsigned char g[2];
    	};
    public:
    	Recode(INT16U a)		
    	{
    		gg=a;
    	};
    
    	void recode(void)
    	{
    		coding->recodeArray(g[0], g[1]);
    	}
            //Куча других методов:
            ...
    };
    
    /*#define C Recode
    Recode a[]={1, C(3,4),  2, 34, C(98,23)};
    #undef C*/
    
    #define _ +256*
    Recode a[]={1 , 3 _ 4 , 56 , 0 _ 56};
    #undef _

    Идея интересная, но не для реального кода. :)

    Говногость, 04 Февраля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class Parent{
      int class_id;
      union Children{
         ClassA   classA;
         ClassB   classB;
         .....
      }
    }

    Найдено на просторах Интернета.

    Говногость, 04 Февраля 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    static string GetRequestParam(string request)
            {
                string result="";
                int i = 4;
                for(char c=request[i];c!=' ';c=request[++i])
                    result+=c;
                return result;
            }

    Говногость, 03 Февраля 2011

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    String^ TDebug::GetCurrentThreadFunctionName(int CallFunctionIndex)
    {
    	return (gcnew StackTrace(true))->GetFrame(CallFunctionIndex)->GetMethod()->ToString();
    };
    
    void TDebug::ShowCurrentFunctionName(void)
    {
    	Windows::Forms::MessageBox::Show(GetCurrentThreadFunctionName(2));
    };

    Помоему, в Microsoft Visual Studio 2010 отладчик для С++\CLI давно есть. :)

    Говногость, 03 Февраля 2011

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

    +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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    namespace Containers
    {
        public class TBinaryWaitingQueue<TItem> where TItem : struct
        {
            private readonly TBinaryQueue<TItem> _queue;
            TBinaryWaitingQueue(int amountOfitem)
            {
                _queue = new TBinaryQueue<TItem>(amountOfitem);
            }
    
            public void Enqueue(TItem[] items)
            {
                throw new NotImplementedException();
            }
    
            public void Enqueue(TItem[] items, int beginItem, int amountOfItem)
            {
                throw new NotImplementedException();
            }
    
            public void Dequeue(TItem[] items, int beginItem, int amountOfItem)
            {
                throw new NotImplementedException();
            }
    
            public TItem[] Dequeue(int amountOfItem)
            {
                throw new NotImplementedException();
            }
        }
    }

    Досталось в наследство от предков. Этому коду уже года 4.

    Говногость, 03 Февраля 2011

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

    +118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public class TWriteableForEach
    	{
    		public delegate void TForEachDelegate<TItem>(TItem item);
    
    		public static void Exec<TItem>(IList<TItem> itemsCollection, TForEachDelegate<TItem> forEachDelegate)
    		{
    			for (int i = 0; i < itemsCollection.Count(); ++i)
    				forEachDelegate(itemsCollection[i]);
    		}
    	} ;

    Велосипед с квадратными колёсами?

    Говногость, 03 Февраля 2011

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

    +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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    public class TObjects
    	{
    		public delegate T DeferredConstruction<out T>();
    
    		public static void Dispose<T>(ref T objectForDispose)
    		{
    			var typeOfObjectForDispose = typeof(T);
    			if (!typeOfObjectForDispose.IsClass)
    				DisposeIfIDisposable(ref objectForDispose, typeOfObjectForDispose);
    			else
    				if (!Equals(objectForDispose, null))
    					DisposeIfIDisposable(ref objectForDispose, typeOfObjectForDispose);
    			objectForDispose = default(T);
    			//objectForDispose = (T)(object)(null);
    		}
    
    		public static void Create<T>(ref T objectForCreate, DeferredConstruction<T> newObject)
    		{
    			Dispose(ref objectForCreate);
    			objectForCreate = newObject();
    		}
      private static void DisposeIfIDisposable<T>(ref T objectForDispose, Type typeOfObjectForDispose)
            {
                bool canDisposable = (objectForDispose as IDisposable) != null;
                if (canDisposable)
                {
                    var dispose = typeOfObjectForDispose.GetMethod("Dispose");
                    dispose.Invoke(objectForDispose, new object[] { });
                }
            }
    }

    Говногость, 03 Февраля 2011

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

    +128

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public class TDebug
    	{
    		public static void Assert(bool condition)
    		{
    			System.Diagnostics.Debug.Assert(condition);
    #if DEBUG
    			if(!condition)
    				throw new Exception();
    #endif
    		}
    	}

    Говногость, 03 Февраля 2011

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

    +127

    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
    class TStopThreadWaiter
    	{
    		public static void Wait(Thread threadWaitededForStop)
    		{
    			var threadName = threadWaitededForStop.GetType().Name;
    			if (!threadWaitededForStop.Join(1000))
    			{
    				TErrorShower.ShowOnceIfAgree("Неудаёться остановить " + threadName + " поток. Будут предприняты попытки внештатной остановки.");
    				if (!threadWaitededForStop.Join(200))
    					threadWaitededForStop.Interrupt();
    				if (!threadWaitededForStop.Join(200))
    				{
    					TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Interrupt. Предпринимаю попытку принудительной остановки через Abort.");
    					threadWaitededForStop.Abort();
    					if (!threadWaitededForStop.Join(200))
    					{
    						TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Abort. Завершаем приложение.");
    						Application.Exit();
    					}
    				};
    			};
    		}
    	}

    Говногость, 03 Февраля 2011

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

    +158

    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
    // TEMPLATE FUNCTION rotate
    template<class _FI> inline
    	void rotate(_FI _F, _FI _M, _FI _L)
    	{if (_F != _M && _M != _L)
    		_Rotate(_F, _M, _L, _Iter_cat(_F)); }
    template<class _FI> inline
    	void _Rotate(_FI _F, _FI _M, _FI _L,
    		forward_iterator_tag)
    	{for (_FI _X = _M; ; )
    		{iter_swap(_F, _X);
    		if (++_F == _M)
    			if (++_X == _L)
    				break;
    			else
    				_M = _X;
    		else if (++_X == _L)
    			_X = _M; }}
    template<class _BI> inline
    	void _Rotate(_BI _F, _BI _M, _BI _L,
    		bidirectional_iterator_tag)
    	{reverse(_F, _M);
    	reverse(_M, _L);
    	reverse(_F, _L); }
    template<class _RI> inline
    	void _Rotate(_RI _F, _RI _M, _RI _L,
    			random_access_iterator_tag)
    	{_Rotate(_F, _M, _L, _Dist_type(_F), _Val_type(_F)); }
    template<class _RI, class _Pd, class _Ty> inline
    	void _Rotate(_RI _F, _RI _M, _RI _L, _Pd *, _Ty *)
    	{_Pd _D = _M - _F;
    	_Pd _N = _L - _F;
    	for (_Pd _I = _D; _I != 0; )
    		{_Pd _J = _N % _I;
    		_N = _I, _I = _J; }
    	if (_N < _L - _F)
    		for (; 0 < _N; --_N)
    			{_RI _X = _F + _N;
    			_RI _Y = _X;
    			_Ty _V = *_X;
    			_RI _Z = _Y + _D == _L ? _F : _Y + _D;
    			while (_Z != _X)
    				{*_Y = *_Z;
    				_Y = _Z;
    				_Z = _D < _L - _Z ? _Z + _D
    					: _F + (_D - (_L - _Z)); }
    			*_Y = _V; }}

    Header из Microshit Visual C++ 6.0.

    Говногость, 02 Февраля 2011

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