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

    +70

    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
    QString windoliz_path(QString str)
    {
    /*
    функция "виндолизирует" QTшные пути, для передачи в неQTшные части проги
    (в QT-шные, кстати тоже можно, ибо QT вроде бы понимает и те и другие ;)
    если вызвать вне винды ничо страшного, предпроцессор сделает всё за вас
    и функция вернёт ту же строку что и получила. После вызова в виндах не
    помешает сделать .toLocal8Bit()
    //*/
    #ifdef _WIN32                      //если венда
        char s = '\\';                 //символ для замены
        char t = '/';                  //шаблон поиска
        for (int i = str.size();i;i--) //повторить столько раз сколько символов в строке
        {
            if (str[i-1] == t)           //если символ соответствует образцу поиска
            {
                str[i-1] = s;            //меняем на образец замены
            }
        }
    #endif                             //директива отметы условия "если венда"
        return str;
    }

    Этот проект не перестаёт удивлять... апи не смотри, велосипеды пиши. Коммент сохранен авторский.

    kin63camapa, 28 Ноября 2014

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

    +100

    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 Book
        {
            public void BookName(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("NameFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookAuthor(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("AuthorFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookDescription(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("DescriptionFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookTags(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("TagFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
        }

    LightningAtom, 28 Ноября 2014

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    std::uint8_t octets[4];
    for(int i = 0; i < 4; ++i) {
        if(i != 0 && inp.get() != '.')
            { assert(false && "unexpected symbol"); }
        inp >> octets[i];
    }

    Два вида говна: в коде и в языке.

    Soul_re@ver, 28 Ноября 2014

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

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    QDir startupFolder = QDir(AppSettings->value("SoftStartupFolder").toString());
    if (!startupFolder.isAbsolute())
    {
        startupFolder.setPath(QCoreApplication::applicationDirPath()+QDir::separator()+AppSettings->value("SoftStartupFolder").toString());
        startupFolder = QDir(startupFolder.absolutePath());
    }

    а иначе дальше файлы будут честно искаться в папке с названиями из точки или двух, а относительные пути браться от чего угодно кроме текущей папки или папки с прогой.

    kin63camapa, 28 Ноября 2014

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    QString GetVer(QString FileName)
    {
        //многакода
        FileName.clear(); //теперь это версия %)
        QTextStream(&FileName) << HIWORD(fi->dwFileVersionMS) << "." << LOWORD(fi->dwFileVersionMS) << "." << HIWORD(fi->dwFileVersionLS) << "." << LOWORD(fi->dwFileVersionLS);
        return FileName;
    }

    кому-то лень было создавать переменную

    kin63camapa, 27 Ноября 2014

    Комментарии (0)
  7. Java / Говнокод #17204

    +77

    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
    switch (status) {
    
       case "createInitRequest":
            requestXml = ExtFunc.executeFreemarker(initReqTempl, null, values, em);
            //values.put("soap", soap);
            status = "signInitRequest";
            //return;
    
        case "signInitRequest":    
            initReqSoap = ExtFunc.signSoap(requestXml, context, em);
            if (initReqSoap == null) return;
                    infomsg = "Запрос сформирован и подписан. Нажмите 'Продолжить' для отправки запроса.";
            status = "preSendInitRequest";
            //return;
    
        case "preSendInitRequest":
            status = "sendInitRequest";                   
            return;
    
        // далее ещё 20 кейсов, каждый из которых меняет значение status на значение следующего кейса
    
    }

    chsh, 27 Ноября 2014

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

    +50

    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
    switch (player->collision(pos, getRadius()))
    		{
    		case SIDE_UP:
    			ySpeed = -player->baseSpeed.y + player->currentSpeed.y;
    			xSpeed = xSpeed - player->currentSpeed.x;
    			if (abs(xSpeed) > maxXSpeed)
    				xSpeed = maxXSpeed * (xSpeed < 0 ? -1 : 1);
    			break;
    		case SIDE_DOWN:
    			setPosition(getPosition().x, getPosition().y - getRadius() * 2 - 20);
    			ySpeed = -player->baseCornerSpeed.y - player->currentSpeed.y;
    			xSpeed = xSpeed - player->currentSpeed.x; 
    			if (abs(xSpeed) > maxXSpeed)
    				xSpeed = maxXSpeed * (xSpeed < 0 ? -1 : 1);
    			break;
    		case SIDE_RIGHT:
    		case SIDE_LEFT:
    			xSpeed = -xSpeed + player->currentSpeed.x;
    			break;
    		case CORNER_LEFT_UP:
    			ySpeed = -player->baseCornerSpeed.y;
    			xSpeed = -player->baseCornerSpeed.x;
    			break;
    		case CORNER_RIGHT_UP:
    			ySpeed = -player->baseCornerSpeed.y;
    			xSpeed = player->baseCornerSpeed.x;
    			break;
    		case CORNER_RIGHT_DOWN:
    			ySpeed = player->baseCornerSpeed.y;
    			xSpeed = player->baseCornerSpeed.x;
    			break;
    		case CORNER_LEFT_DOWN:
    			ySpeed = player->baseCornerSpeed.y;
    			xSpeed = -player->baseCornerSpeed.x;
    			break;
    		}

    Только велосипедный Collision detection, только хардкор!

    gost, 27 Ноября 2014

    Комментарии (0)
  9. Java / Говнокод #17202

    +76

    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
    double C54 = ((C13!=0.4)&&(C14!=0)) ? 1 : 0;
            double C55 = ((C13==0.4)&&(C14!=0)) ? 1 : 0;
            double D56 = (C14 == 0) ? 0 : 1;
            double E56 = (C13 == 0.4) ? 1 : 0;
            double C56 = D56 * E56;
            double C57 = ((C13!=0.4)&&(C14!=0)) ? 1 : 0;
            double D58 = (C14 == 0) ? 0 : 1;
            double E58 = (C13 == 0.4) ? 1 : 0;
            double C58 = D58 * E58;
    
            if (C11 >= 670) {
                if (C12 == 3) {
                    result = C28*C11+((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*B21;
                } else {
                    result = C28*C11+(((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*2)*B21;
                }
            } else {
                if (C12 == 3) {
                    result = (C28-C31)*C11+((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*B21;
                } else {
                    result = (C28-C31)*C11+(((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*2)*B21;
                }
            }

    Часть калькулятора для рассчетов, изначально было на JS

    chsh, 27 Ноября 2014

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

    −126

    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
    Попытка
            ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.ЗначокОбработкаВПанелиФункций16
    Исключение
            Попытка
                    ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.Выполнить
            Исключение
                    Попытка
                            ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.Сформировать
                    Исключение
                            Попытка
                                    ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.ПерейтиНаСледующийЭтапСделки
                            Исключение
                                    Попытка
                                            ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.ВыполнитьОбменДаннымиИнтерактивно
                                    Исключение
                                    КонецПопытки
                            КонецПопытки
                    КонецПопытки
            КонецПопытки
    КонецПопытки;

    Отака хуєта розкидана в одній і тій самій обробці в кількох місцях

    monstrodev, 27 Ноября 2014

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