1. Java / Говнокод #16578

    +78

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public class ComponentProvider implements ObjectProvider {
    	@SuppressWarnings("unchecked")
    	@Override
    	public <T> T provide(final Class<T> objectType, final AnnotationProvider annotationProvider,
    		final ObjectLocator locator) {
    		return objectType.getName().startsWith(
    			locator.getService(SymbolSource.class).valueForSymbol(FXSymbols.FX_PACKAGE)) ? locator.getService(
    			ComponentLocator.class).isComponentValid(objectType.getName()) ? (T) locator.getService(
    			ComponentInstantiatorSource.class).newInstance(objectType.getName()) : null : null;
    	}
    }

    и в конце грустное : null : null;

    Lure Of Chaos, 21 Августа 2014

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

    +62

    1. 1
    2. 2
    wchar_t c1 =
        (wchar_t)LOWORD(::CharUpperW((LPWSTR)(DWORD_PTR) MAKELONG(*i1, 0)));

    Шиндовс, штроки, штрадания
    http://llvm.org/bugs/show_bug.cgi?id=20712

    roman-kashitsyn, 21 Августа 2014

    Комментарии (12)
  3. ActionScript / Говнокод #16576

    −161

    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
    // RangeError: Error #2006: The supplied index is out of bounds.
    //	at flash.display::DisplayObjectContainer/getChildAt()
    //	at com.pt.utils::CustomSWFLoaderUtil$/isCorrectCustomSWF()[/var/lib/jenkins/workspace/<secret>/src/com/pt/utils/CustomSWFLoaderUtil.as:23]
    
    private static function isCorrectCustomSWF(swf:SWFLoader):Boolean
    {
    	if (swf &&
    		swf.content &&
    		swf.content is ContentDisplay &&
    		(swf.content as ContentDisplay).getChildAt(0) &&
    		(swf.content as ContentDisplay).getChildAt(0) is MovieClip &&
    		((swf.content as ContentDisplay).getChildAt(0) as MovieClip).numChildren == 1)
    		return (swf.content.getChildAt(0) is MovieClip);
    	else 
    		return false;
    }

    Ну не фарт!

    wvxvw, 21 Августа 2014

    Комментарии (2)
  4. Куча / Говнокод #16575

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    http://vk.com/proger_girl?z=photo-34196141_334770895%2Falbum-34196141_00%2Frev
    
    http://vk.com/tproger?w=page-30666517_48155477
    
    http://vk.com/search?c%5Bq%5D=wct&c%5Bsection%5D=auto&w=wall172535832_2076

    WCT - оно везде!

    kegdan, 21 Августа 2014

    Комментарии (155)
  5. Куча / Говнокод #16574

    +101

    1. 1
    удалено

    Кто делает выгрузка в таком формате???
    xml? json? так лучше, епта

    Cascader, 21 Августа 2014

    Комментарии (36)
  6. JavaScript / Говнокод #16573

    +153

    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
    function parse(input) {
            var options = arguments.length > 1 ? arguments[1] : {},
        
                peg$FAILED = {},
        
                peg$startRuleFunctions = { grammar: peg$parsegrammar },
                peg$startRuleFunction  = peg$parsegrammar,
        
                peg$c0 = peg$FAILED,
                peg$c1 = null,
                peg$c2 = [],
                peg$c3 = function(initializer, rules) {
    . . .
                peg$c142 = { type: "other", description: "whitespace" },
                peg$c143 = /^[ \t\x0B\f\xA0\uFEFF\u1680\u180E\u2000-\u200A\u202F\u205F\u3000]/,
                peg$c144 = { type: "class", value: "[ \\t\\x0B\\f\\xA0\\uFEFF\\u1680\\u180E\\u2000-\\u200A\\u202F\\u205F\\u3000]", description: "[ \\t\\x0B\\f\\xA0\\uFEFF\\u1680\\u180E\\u2000-\\u200A\\u202F\\u205F\\u3000]" },
        
                peg$currPos          = 0,
                peg$reportedPos      = 0,
                peg$cachedPos        = 0,
                peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },
                peg$maxFailPos       = 0,
                peg$maxFailExpected  = [],
                peg$silentFails      = 0,
        
                peg$result;
    . . . // + 3К строк бреда до конца функции

    История моих мытарств и жалких метаний:
    Меня попросило начальство радикально улучшить формат в котором приложение хранит данные. Думал я, думал, и решил, что YAML ка нельзя лучше подходит для задачи (нужно хранить описание слайдов презентации, т.е. много текста и довольно схематичная графика, все это желательно бы иметь возможность комфортно редактировать в текстовом виде, создавать заготовки и т.д.).

    Шаг первый: поиск готового YAML парсера, врезультате обнаружились две штуки для АС3. Один - клон Ява парсера, в котором по класу на токен. Я не шучу. Проект заброшен 5 лет назад. Второй: заброшен 4 года назад, все в одном файле, парсится регулярками и магией, какие-то комментарии имеются, но они только свидетельствуют о несостоятельности писавшего коментарии.

    Подумал: если нет нормального парсера, может есть генератор парсеров?

    Шаг второй: поиск обнаружил одну попытку написать клон ANTLR, но очень ограниченную, и не работающую.

    Думаю: ну бля, если все так херово, может с ж.скрипта портирую чего-нибудь простенькое, PEG как раз должен подойти.

    И тут я нашел это.

    wvxvw, 21 Августа 2014

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

    −163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Стр = Строка(Формат(ТекущаяДата(), "ДФ=гггг"))
    			+ Формат(ТекущаяДата(), "ДФ=ММ") 
    			+ Формат(ТекущаяДата(), "ДФ=дд")+"_";
    			
    	Стр = Стр + СтрЗаменить(Строка(Формат(ТекущаяДата(), "ДЛФ=В")),":","");

    Мусьё знает толк. Очердной туроператор склеил ласты =)

    safer_bwd, 20 Августа 2014

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

    +134

    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
    String r_count = "";
                String r_cat = "";
                String r_pansion = "";
                for (Int32 ii = 0; ii < rows.Count; ii++)
                {
                    Int32 j = rows[ii].NNight;
                    DateTime d = rows[ii].DateBeg;
                    DateTime d_e = rows[ii].DateEnd;
                    Int32 type = rows[ii].MinLength > 0 ? 3 : 2;
                    j = (type == 3) ? -1 : j;
    
                    Int32 lengthMin = rows[ii].MinLength;
                    if (((d < date1 || d > date2) && type != 3))
                        continue;
                    else
                        if (!(d <= date1 && d_e >= date1 || d <= date2 && d_e >= date2) && date1 != DateTime.MinValue && date2 != DateTime.MaxValue && type == 3)
                            continue;
                    String _r_count = _Rooms[rows[ii].RoomId];
                    String _r_cat = _RoomCat[rows[ii].RoomCatId];
                    String _r_pansion = _Pansions[rows[ii].PansionId];
                    List<String> a = new List<string>();
                    if (_r_count != r_count || _r_cat != r_cat || _r_pansion != r_pansion)
                    {
                        if (!String.IsNullOrEmpty(r_count) && !String.IsNullOrEmpty(r_cat))
                        {
                            Pricing.RoomCat cat = new Pricing.RoomCat();
                            cat.RoomCount = r_count;
                            cat.RoomName = r_cat;
                            cat.PansionName = r_pansion;
    
                            p.rooms.Add(cat);
                        }
                        r_count = _r_count;
                        r_cat = _r_cat;
                        r_pansion = _r_pansion;
                    }

    Краху туроператоров способствовали также и собственные инженеры.

    tablecell, 20 Августа 2014

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

    −158

    1. 1
    2. 2
    3. 3
    4. 4
    Если Переменная1 <> 0 Тогда
    Иначе
       Переменная1 = 0;
    КонецЕсли;

    Пять минут пытался убедить нашу "программистку" с десятилетним стажем, что этот высер ничего не делает! Сошлись на том, что она "всё таки удалит его, но если появятся ошибки - она здесь не при чем"!
    Этот кусок я бы и не заметил, если бы не бросился в глаза пустой блок "Тогда" при использовании блока "Иначе"

    doom2good, 20 Августа 2014

    Комментарии (66)
  10. Java / Говнокод #16569

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    protected boolean matches(final PlasticField field) {
    		try {
    			return (this.type() == null) || this.type().getName().equals(field.getTypeName()) ? true : Class.forName(
    				this.type().getName()).isAssignableFrom(Class.forName(field.getTypeName()));
    		} catch (final ClassNotFoundException e) {
    			this.logger.error(e.getMessage(), e);
    		}
    		return false;
    	}

    DRY in action

    такая вот говнопластмасса

    Lure Of Chaos, 20 Августа 2014

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