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

    −94

    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
    private function getYouTubeVideoIdFromURL (url:String):String {
    	if (URLUtil.isHttpsURL(url)||URLUtil.isHttpURL(url)) {
    		var startIndex:int = url.indexOf("v=")+2;
    		var endIndex:int = url.indexOf("&");
    		if (endIndex>startIndex) {
    			url = url.slice(startIndex, endIndex); 
    		}
    		else {
    			url = url.slice(startIndex);
    		}
    	}
    	return url;
    }

    Целый отдел над этой функцией работал.

    Запостил: wvxvw, 01 Октября 2014

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

    • — А бывает, что нужный параметр идёт в строке не первым и не последним?
      — Нет, сынок, это фантастика.
      Ответить
    • Тоесть утилза которая определяет урл ли это у вас есть, а то что умеет брать гет параметры из него уже нет?
      Ответить
      • О, URLUtil.isHttpsURL, и URLUtil.isHttpURL - это две эпические функции, но они сами по себе не представляют интереса. Интересна история с ними связаная. Вобщем, как и следует из названия, одна из этих фунций проверяет не начинается ли УРЛ с http, а другая - https. Но смысл зарождения этих функций был такой: программа, на старте загружает несколько ХМЛей с настройками, где есть тьма (несколько сотен, точно) УРЛей, потом эти УРЛы расползаются по всей программе, и в каждом месте, где они используются, за ними следуют эти функции.
        Почему, возможно спросите вы? - А потому, что на каком-то этапе программисты писавшие этот проект поняли, что иногда программа загружается по http протоколу, а иногда - https, но код который загружает настройки был так плохо написан, что искать там не пришло в голову - ведь легче всего исправить прямо там, где вот сейчас код открыт в редакторе.

        Я честно рассказал этому отделу про URLVariables, даже примеры привел, но я давно там уже исчерпал свой кредит доверия, так что скорее всего этот код останется в таком виде, на зло, чтобы мне неприятно было :)
        Ответить
        • > с настройками, где есть тьма
          на этом месте я завис... конфигурируемая тьма :D
          Ответить
        • А самому дописать второй параметр?
          Ответить
    • Говорят есть готовые либы для парсинга урлов. Есть они в каждом языке лет 15 как. Врут, наверное.
      Ответить

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