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

    −241

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private function fürDieLuLz(event:String, params:StringHash):void
    {
    	if (ExternalInterface.available)
    		ExternalInterface.call(
    			"function(){window.fireEvent('" + event + 
    			"',JSON.stringify(" + params + "));}");
    }

    Я долго пытался объяснить человеку пишущему JS часть проекта, что не нужно перекодировать объекты каждый раз из JSON и обратно при общении с Флешем, если они все равно проходят через eval(). Но у человека ЧСВ победил все. В итоге пришел "главный инженер" и "решил", что "если мы раньше так делали, то мы будем так делать и дальше, и не волнует". В итоге родился этот шедевр. Я сегодня с утра для поднятия настроения показал этот код JS кодеру. Долго объяснял, что он делает. После чего он сказал, что больше не будет со мной разговаривать :)
    Я счастлив

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

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

    • джаст фор лулз
      Ответить
    • Немцы детектед.
      Ответить
      • лучший способ сделать немецких коллег своими вечными врагами - это заставить их думать. ой как они не любят это делать... на первой работе в Германии со мной пара чудаков больше полугода после одного инцедента не разговаривала. а всего то я им пытался объяснить что std::map<>ы можно вложеными делать...

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

        ну да это же родина меркантилизма и индивидуализма... такие они немцы.
        Ответить
        • инцедент детектед
          Ответить
        • Зато немцы всю технику в Российской Империи делали.
          Ответить
          • ложь, пиздёж и провокация, при алексашке окончательно разосрались и превратились в упоротых англофилов, в итоге трубы до сих пор в сраных дюймах меряют
            Ответить
            • >окончательно разосрались
              А вот нихуя.
              http://ru.wikipedia.org/wiki/Siemens_в_России
              Ответить
              • в 2005 и 2006 году в качестве взяток было выплачено около 3 миллионов долларов
                :-D

                зингер, кстати, покруче сименса будет, но всё равно, это мелкие частности
                а вот дружили бы с немцами - провели бы метрическую водопроводную реформу
                Ответить
                • что ж Вы так... за чистоту трубических измерений-то...
                  Ответить
                  • встречный вопрос (понимаю, что зима и на дачу еще не скоро) - вы когда-нибудь видели штангенциркуль со шкалой в дюймах?
                    Ответить
                    • у сантехников штангенциркуля не бывает.
                      Ответить
                      • плохой инструмент, очень быстро пропивается.
                        Ответить
                        • а им и не выдают, как стройбатовцам автоматы.
                          Ответить
            • да ладно
              зингер же
              Ответить
        • История получила продолжение. Этот человек взялся изобретать "фасад" и еще тучу свистоперделок впридачу к уже придуманному. На самом деле диспатчить события там не нужно, все, что нужно сделать, это передать трекеру от Гугл-Аналитикс две строчки. 1: что ввели в поисковую строку, 2: что поиск нашел. Или 1: на какую кнопку нажали, 2: куда перенаправили пользователя.
          И вот во что это выросло:
          /**
          		 * @private
          		 * The whole thing:
          		 *    A. "share" - expects one parameter (called provider) which can be "facebook" or "twitter"
          		 *    B. "track" - expects 2 to 4 parameters:
          		 *         1. "category" - one of the following: { "movies", "keywords", "clicks" }
          		 *         2. "action" - this one depends on the previous one... so:
          		 *               1. (movies) the value should be "view"
          		 *               2. (keywords) value should be "input"
          		 *               3. () if the user clicked on a link to our application then the value should be "company-name", if the user clicked a share link then the value should be "share"
          		 *         3. "label" - this one depends also on the previous parameters:
          		 *               1. (movies, view) - id of the movie that the user saw
          		 *               2. (keywords, input) - the string of words the user entered into the text box
          		 *               3. (clicks, chatrounds) - which one of the links the user clicked (id)
          		 *                  (clicks, share) - "facebook" or "twitter"
           		 *        4. "value" - this parameter is not currently needed so you can ignore it.
          		 */
          		private function fürDieLuLz(event:String, params:StringHash):void
          		{
          			if (ExternalInterface.available)
          				ExternalInterface.call(
          					"function(){window.fireEvent('" + event + 
          					"',JSON.stringify(" + params + "));}");
          		}

          Пункт 4 доставил отдельное удовольствие.
          Ответить

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