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

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

    +53

    1. 1
    for ( ; currnet->prev != NULL; (*this)-- );

    медод везвращения итератора к началу

    artembegood, 03 Апреля 2015

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

    +53

    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
    {
       ...
       _tswfstring contentID = fileName;
       _tswfstring::size_type index = fileName.find_last_of ( _T("\\")  );
       if ( index != -1 )
          contentID.erase(0, index + 1);
    
       TCHAR name[10] = {0};
       memcpy(name, contentID.c_str() + contentID.length() - 9, 9 * sizeof(TCHAR));
       if(name[6] == _T('B') || name[6] == _T('b')) //to upper case if .bmp
       {
          name[6] = _T('B');
          name[7] = _T('M');
          name[8] = _T('P');
       }
    }

    blackhearted, 11 Февраля 2015

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

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    static uint8_t const FREE = static_cast<uint8_t>(0);
    static uint8_t const USED = static_cast<uint8_t>(1);
    
    static char_t const * const THINKING = &"thinking"[0];
    static char_t const * const HUNGRY   = &"hungry  "[0];
    static char_t const * const EATING   = &"eating  "[0];

    Из демы QP/C++ библиотеки. Вот в таком духе очень много кода.

    Индустриальщики, после перехода на С++, похоже очень сильно страдают по отсутствию pre-ANSI C какашек, и изобретают новые.

    Dummy00001, 10 Февраля 2015

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

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for (int i = 1; i <= s.Length; ++i) {
        if (s[i] == '/') {
            s = s.SubString(1, i) + s.SubString(i, MaxInt);
            ++i;
        }
    }

    Кручу-верчу запутать хочу. Кто с первого раза догадается, в чём задача кода - получит пирожок с полочки.

    P.S. Строки билдеровские, нумерация с 1. SubString принимает индекс начала и количество символов.

    bormand, 02 Февраля 2015

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

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int s = 0;
    string N;
    getline(cin, N);
    // Прости господи
    for (int i = 0; i < N.length(); i++)
        if (N[i] != 0)
            s += N[i] - 48;

    Глянул свой недавний код

    DesmondHume, 17 Января 2015

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

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    class ParseError : public std::exception{
        string s;
        explicit ParseError(const std::string& s) : s(s) {}
        const char* what() const throw() { return s.c_str(); }
      };

    Это мне нужно в своём исключении-потомке обязательно перегрузить what и добавить свою строку для хранения, чтобы данные, переданные в конструктор s по указателю обязательно выжили после размотки стека.

    LispGovno, 06 Декабря 2014

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

    +53

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //
    // 'compare_keywords()' - Compare two keywords...
    //
    
    extern "C" {
      int
      compare_keywords(const void *a,
                       const void *b) {
        return (strcmp(*((const char **)a), *((const char **)b)));
      }
    }

    govnokod3r, 04 Декабря 2014

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

    +53

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    void MainWindow::on_actionHelp_triggered()
    {
        bool helpNoWritten = 0;
        QDir d(QCoreApplication::applicationDirPath()+QDir::separator()+"help");
        d.makeAbsolute();
        if (d.exists() && d.entryList(QDir::Files).size())
            helpNoWritten = !QDesktopServices::openUrl(QUrl::fromUserInput(QFileInfo(d.entryList(QDir::Files).at(0)).absoluteFilePath()));
        else
            helpNoWritten++;
        if (helpNoWritten)
            QMessageBox::warning(0,"Warning",QString::fromUtf8("Похоже документацию так никто и не написал... можете почитать исходники.\nЕсли напишете положите в папку help рядом с программой"), QString::fromUtf8("Okay..."));
    }

    Код вроде бы хороший, читается не очень да не суть... дело тут не в коде.

    kin63camapa, 03 Декабря 2014

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

    +53

    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
    BOOL IsNameInExpression(PCWSTR Expression, PCWSTR Name, DWORD len)
    {
    	WCHAR c, b;
    
    	while (c = *Expression++) 
    	{
    		if (c == L'*') 
    		{
    __loop:
    			switch (*Expression)
    			{
    			case '*':
    				Expression++;
    				goto __loop;
    			case 0:
    				return TRUE;
    			}
    
    			if (len)
    			{
    				do 
    				{
    					if (IsNameInExpression(Expression, Name++, len--)) return TRUE;
    				} while (len);
    			}
    
    			return FALSE;
    		}
    
    		if (!len--)
    		{
    			return FALSE;
    		}
    
    		b = *Name++;
    
    		if (c != L'?' && b != c) 
    		{
    			return FALSE;
    		} 
    	}
    
    	return !len;
    }
    
    BOOL IsNameInExpression(PCWSTR Expression, PUNICODE_STRING Name)
    {
    	RtlUpcaseUnicodeString(Name, Name, FALSE);
    	return IsNameInExpression(Expression, Name->Buffer, Name->Length >> 1);
    }

    zhukas, 28 Ноября 2014

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

    +53

    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
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    int CALLBACK ZDll::Compare(ZDll* p, ZDll* q, LPARAM lParamSort)
    {
    	ULONG_PTR a, b;
    	int s = GET_Y_LPARAM(lParamSort) ? -1 : +1;
    	
    	switch (GET_X_LPARAM(lParamSort))
    	{
    	default: __assume(false);
    	case 0:
    		a = p->_index, b = q->_index;
    		break;
    	
    	case 1:
    		a = (ULONG_PTR)p->_BaseOfDll, b = (ULONG_PTR)q->_BaseOfDll;
    		break;
    
    	case 2:
    		a = p->_SizeOfImage, b = q->_SizeOfImage;
    		break;
    
    	case 3:
    		PCWSTR pa = p->_ImageName, pb = q->_ImageName;
    		if (!pa) return -s;
    		if (!pb) return +s;
    		return _wcsicmp(pa, pb)*s;
    	}
    
    	if (a < b) return -s;
    	if (a > b) return +s;
    	return 0;
    }
    
    INT_PTR ZModulesDlg::DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    	switch (uMsg)
    	{
    	case WM_NOTIFY:
    		if (((LPNMHDR)lParam)->idFrom == IDC_LIST1)
    		{
    			LVITEM lvi;
    
    			switch (((LPNMHDR)lParam)->code)
    			{
    			case LVN_COLUMNCLICK:
    				if ((DWORD)(lvi.iSubItem = ((LPNMLISTVIEW)lParam)->iSubItem) < 4)
    				{
    					ListView_SortItems(((LPNMHDR)lParam)->hwndFrom, ZDll::Compare, 
    						MAKELPARAM(lvi.iSubItem, _bittestandcomplement(&_SortOrder, lvi.iSubItem)));
    				}
    				break;
    
    			case LVN_GETINFOTIP:
    				lvi.iItem = ((LPNMLVGETINFOTIP)lParam)->iItem;
    				lvi.mask = LVIF_PARAM;
    
    				if (ListView_GetItem(((LPNMHDR)lParam)->hwndFrom, &lvi))
    				{
    					if (PWSTR ImagePath = ((ZDll*)lvi.lParam)->_ImagePath)
    					{
    						if (DWORD n = ((LPNMLVGETINFOTIP)lParam)->cchTextMax)
    						{
    							WCHAR *pszText = ((LPNMLVGETINFOTIP)lParam)->pszText, c;
    							do 
    							{
    								*pszText++ = c = *ImagePath++;
    							} while (c && --n);
    
    							if (c)
    							{
    								pszText[-1] = 0;
    							}
    						}
    					}
    				}
    				break;
    			}
    		}
    		break;

    жесть

    zhukas, 17 Ноября 2014

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