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

    Всего: 3

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

    −25

    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
    #define _FOR_UINT    for(UINT i=0;i<nCount;i++)
    #define _FOR_INT     for(int i=0;i<nCount;i++)
    #define _FOR_UINT_B  for(UINT i=nCount-1;i>=0;i--)
    #define _FOR_INT_B   for(int i=nCount-1;i>=0;i--)
    
    #define _FOR_UINT_2  for(UINT i2=0;i2<nCount2;i2++)
    #define _FOR_INT_2   for(int i2=0;i2<nCount2;i2++)
    #define _FOR_UINT_B2 for(UINT i2=nCount2-1;i2>=0;i2--)
    #define _FOR_INT_B2  for(int i2=nCount2-1;i2>=0;i2--)
    
    #define FOR_UINT(nCount)    for(UINT i=0;i<nCount;i++)
    #define FOR_UINT2(nCount)   for(UINT i2=0;i2<nCount;i2++)
    
    #define FOR_INT(nCount)    for(int i=0;i<nCount;i++)
    #define FOR_INT_P2(nCount) for(int i=0;i<nCount;i+=2)
    #define FOR_INT_B(nCount)  for(int i=nCount-1;i>=0;i--)
    #define FOR_INT2(nCount)   for(int i2=0;i2<nCount;i2++)
    #define FOR_INT3(nCount)   for(int i3=0;i3<nCount;i3++)
    
    #define FOR_I(nStart,nCount)   for(int i=nStart;i<nCount;i++)
    #define FOR_I0(nStart,nCount)  for(int i0=nStart;i0<nCount;i0++)
    #define FOR_I2(nStart,nCount)  for(int i2=nStart;i2<nCount;i2++)
    #define FOR_I3(nStart,nCount)  for(int i3=nStart;i3<nCount;i3++)
    #define FOR_I4(nStart,nCount)  for(int i4=nStart;i4<nCount;i4++)

    Полезные макросы на каждый день.

    yog_muskrat, 14 Октября 2016

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

    −41

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Element* pElt = Panel->pElement;
    if (!pElt && pElt == reinterpret_cast<Element*>(0xFEEEFEEEi64))
    {
    	return 0;
    }

    Как наверняка узнать, что указатель не нулевой.

    yog_muskrat, 28 Сентября 2016

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

    0

    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
    const int DD_GOOD = 1;
    const int DD_BAD = 2;
    const int DD_BAD_VERT = 3;
    auto segStatus = [&DD_GOOD, &DD_BAD, &DD_BAD_VERT](SomeClass* seg, EXTR ext, coord pickPt, double pickElev) -> int
    {
    	Pt&			pt = seg->ExtremePt(ext);
    	Line&	line = seg->ExtremeLn(ext);
    	coord			btPt = seg->GetExtremeWallPos(ext);
    
    	if (pt.GetCoord() != pickPt && btPt != pickPt)
    	{
    		return DD_BAD;
    	}
    
    	if (pt.pairGuid == GUID_NULL && EQ(pt.GetHeight(), pickElev))
    	{
    		return DD_GOOD;
    	}
    
    	if (!line.IsNonVert())
    	{
    		return DD_BAD;
    	}
    
    	double e1 = line.m_startPt.GetHeight();
    	double e2 = line.m_endPt.GetHeight();
    	
    	if (e1 < e2 && e1 < pickElev && pickElev < e2)
    	{
    		return DD_GOOD;
    	}
    	
    	if (e2 < e1 && e2 < pickElev && pickElev < e1)
    	{
    		return DD_GOOD;
    	}
    	
    	return DD_BAD_VERT;
    };

    Когда не умеешь пользоваться энумами.

    yog_muskrat, 26 Августа 2016

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