1. ActionScript / Говнокод #5819

    −106

    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
    private function handleApplcationCallback(call:String, params:String = "") : void 
    {
    	var paramsArr:Array; 
    	if(params)
    		paramsArr = params.length > 0 ? params.split(",") : [];
    	else 
    		paramsArr = [];	
    	try 
    	{
    		handleApplicationCalls(call,paramsArr);
    	} 
    	catch (error : Error)
    	{
    	}
    }

    Запостил: wvxvw, 28 Февраля 2011

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

    • Где лопата?
      Ответить
      • Вероятно, тут:

        private function handleApplcationCallback(call:String, params:String = "") : void 
        {
        	if (params != ''){
        		handleApplicationCalls(call, params.split(','));
        	}
        }


        Или, даже, ещё выше. Без всего кода толком не понятно.
        Ответить
        • Ребята, давайте все вместе поможем участникам найти лопату!
          Ответить
          • Лучше пожрать бы принесла.
            Ответить
            • Извините, Вам как иностранцу будет отказано в обслуживании. Только для русских.
              Ответить
            • Хочешь поесть с лопаты и вернуться в лоно церкви к корням?
              Ответить
      • private function handleApplcationCallback(call:String, params:String = "") : void 
        {
        	var paramsArr:Array = params ? params.split(",") : []; 	
        	try 
        	{
        		handleApplicationCalls(call, paramsArr);
        	} 
        	catch (error : Error)
        	{
        	}
        }

        Потому, что если специально null передать, то будет ошибка (он не заменится на ""). Хотя он никогда туда не передается, но это уже другой вопрос.
        То что там try-catch без вариантов отследить ошибку, я к этому уже привык в этом проекте, просто механически удаляю. Но иногда полет мысли автора заставляет задуматься...
        Ответить
        • Точно, null != undefined. С другой стороны, кто будет писать вызов как "handleApplcationCallback(someCall, null);"?

          В любом случае, создавать лишнюю переменную - не айс, оба условия можно в if запихнуть, если так уж null'а опасаешься.
          Ответить
        • Ну, вы просто сократили запись. Я даже могу представить, почему появился исходный код -- именно потому, что null не передавали. А потом где-то передали, упало, заткнули, обернув в ещё одно условие.

          Это ещё не говнокод (ну разве что слегка хлюпает).
          Ответить
          • Как по мне, говнокод в том, что вещь, которую можно записать короче и понятнее записывается длинно и менее понятно.
            Кроме того расследование показало в итоге, что все-таки туда да передают нулл, при чем явно. Код писан методом последовательных приближений, в смысле человек не понимал, что делает и просто подставлял значения, так и родился этот и еще 90% кода в проекте который надо сейчас поддерживать... Т.е. по-чесному, этой функции не должно было быть, и той, которую она вызывает тоже... потому что человек решил сэкономить на 10 методах и вызвать их через рефлекшн, а когда не получилось - завернул все в try-catch... ну, я думаю, знакомая ситуация, все когда-то с такими деятелями сталкивались.
            Ответить

    Добавить комментарий