1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. C# / Говнокод #17199

    +133

    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
    private static List<User> Users
    {
        get
       {
           if (_customers == null) {             _customers = new List<Customer>(); }
            lock (((ICollection)_customers).SyncRoot)
           {
                    return _customers;
           }
    }
    set
      {
          lock (((ICollection)Customer).SyncRoot)
          {
                _customers = value;
           }
       }

    one12351, 27 Ноября 2014

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

    +131

    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
    double[] numbers1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
                double[] numbers2 = { 2.2 };
    
                IEnumerable<double> onlyInFirstSet = numbers1.Except(numbers2);
    
                foreach (double number in onlyInFirstSet)
                    Console.WriteLine(number);
    
                /*
                 This code produces the following output:
    
                 2
                 2.1
                 2.3
                 2.4
                 2.5
                */

    Привет с msdn
    http://msdn.microsoft.com/en-us/library/bb300779%28v=vs.110%29.aspx

    LispGovno, 27 Ноября 2014

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