[Moscow.pm] [SPAM:#] Re: дефолтные методы объекта и AUTOLOAD

Akzhan Abdulin akzhan.abdulin на gmail.com
Чт Мар 29 01:41:56 PDT 2012


Кстати, аналог autoload будет введен и в новом стандарте ECMAscript. Просто
очень удобно для метапрограммирования.

29 марта 2012 г. 12:38 пользователь Orlovsky Alexander <nordicdyno на yandex.ru
> написал:

> хороший коммент по ссылке, дополняющий мою мысль:
>
> > "Мне доводилось сопровождать код, объёмом 100000 строк, написанный с
> использованием такого приёма. Это была самая страшная пытка."
>
> ну и про ruby, похоже что не прав был (музыкой навеяло?), но в топах по
> ruby и method_missing находятся такие посты:
>
> http://blog.jayfields.com/2008/02/ruby-replace-methodmissing-with-dynamic.html
>
> цитата:
> > "the pain of debugging method_missing"
>
> 29.03.2012, 12:26, "Akzhan Abdulin" <akzhan.abdulin на gmail.com>:
>
> Это не совсем так. Из Ruby method_missing не выпиливали.
> И к тому же это совсем не медленно, если создавать методы по требованию.
> http://habrahabr.ru/post/52532/
>
> 29 марта 2012 г. 12:22 пользователь Orlovsky Alexander <
> nordicdyno на yandex.ru> написал:
>
> Не используйте AUTOLOAD
> 1. Это медленно.
> 2. Его использование порождает более сложный код
>
> Из руби, кстати его или уже выпилили или собираются.
>
> 28.03.2012, 13:21, "Nick Knutov" <mail на knutov.com>:
> > Есть ряд объектов, у которых есть заранее известный, но иногда
> > меняющийся [в процессе разработки] список полей, для которых надо писать
> > геттеры вида
> >
> > sub id { my $self = shift; return $self->{id}; }
> >
> > Или с логикой чуть посложнее, но это еще один список полей и полностью
> > одинаковый код, кроме имени поля.
> >
> > Возникла мысль генерить эти методы из заранее определенного списка на
> > этапе, например, загрузки модуля или компиляции кода. perldoc что?
> >
> > Альтернативный вариант - сделать то же самое через AUTOLOAD, вот только
> > в гугле находятся несколько очень разных примеров, как это делается, и в
> > каждом говорится, что примеров есть разные, но вот именно этот способ
> > лучше и избавит от разных проблем и багов. So, как все же это надо
> делать?
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20120329/cfc18bf7/attachment.html>


Подробная информация о списке рассылки Moscow-pm