![]() |
Функции в Object
Нашёл в исходнике чата для вконтакта нечто подобное
Код AS3:
|
Пожалуйста, можно и так:
Код AS3:
Код AS3:
|
При встрече с автором сего шедевра сделайте ему что-нибудь нехорошее, например пните ногой, или плюньте в лицо. Это ж такую редкосную гадость надо было написать... (а еще для таких вещей есть замечательный сайт - govnokod.ru)
Называется это умными словами "анонимная функция присвоеная свойству динамического объекта" - чем это чревато: - отсутствие нормальной проверки на этапе компиляции. - такие функции будут создаваться по-новой при каждом выполнении функции-обертки. - контекст такой функции можно переопределить в рантайме. - такие функции плохо перевариваются JIT компилятором, если вообще перевариваются. - судя по названию, ее еще и планировалось передать в качестве обработчика какого-то события, а это добавляет ко всему вышеперечисленному проблемы с очисткой памяти. |
Я пока изучаю исходник чата, и экспериментирую в отдельном проекте, удалось имя, фамилию и номер мобилы получить для начала. А поскольку там такое сплошь и рядом, хотелось бы понять принципы. Устал искать описание, и уже готов довольстоваться малым. Спасибо и на этом :)
Добавлено через 2 минуты Оригинал нашёл Код AS3:
|
Если сами не запостите в *****код, то я с радостью это сделаю с вашего позволения, страна должна знать своих героев. :)
|
Цитата:
Код AS3:
Добавлено через 5 минут Не, ну можете постить, но там весь исходник чата такой, у меня волосы дыбом, но понемногу разбираюсь. Похоже сделано чтобы отпугивать новичков от написания приложений для вконтакта :))) Сам пару месяцев боялся подступиться, смотрел на код, и выключал через 10 минут. Сейчас перешёл в решительное наступление. Что-то начало получаться, методом тыка. Но хочется каждую непонятную ситуацию выяснить, чтобы набраться знаний и опыта. Прежде чем сюда задавать вопрос, прошерстил несколько книг на предмет такой темы, и погуглил, информации нашёл маловато. Даже здесь я уже больше узнал, в этой теме. Спасибо. |
Класс занимает ничтожно мало места по сравнению с тем, сколько это ***** отъест потом места в памяти, если вообще не поломается до того, как достигнет критических размеров. Тут на лицо человек, который никогда в жизни на AS3 ничего не писал, а делал каие-нибудь *****сайты на яваскрипте (и возможно немного PHP). Конечно, обстоятельства могут быть разными, и если это код начинающего / любителя, за который никто не платил и т.д. - то, ну, как бы и ладно, но если за это кто-то хоть копейку заплатил - то оно того явно не стоило :)
Рефакторить - ну, в первую очередь вытащить все функции из других функций и сделать их методами класса, включить strict mode + все предупреждения и исправлять то, что компилятор найдет... PS. Замыкание в ОО языках не имеет никакого смысла. Для того, чтобы оно имело практический смысл, нужен другой подход и другое окружение... Тут нет никаких возможных скрытых причин и оправданий, просто откровенное ***** в чистом виде. |
Оно лежит Вконтакте, в группе "ВКонтакте API ", как один из образцов
Цитата:
|
Какой ужас...
|
Цитата:
|
| Часовой пояс GMT +4, время: 07:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.