То есть вместо того чтобы использовать Class::XSAccessor который оптимизирован 
по самое не балуйся вы используете eval, тем самым:
1) Раздуваете working-set приложения
2) Теряете возможность рантаймого похачить базовый класс или сделать 
инъектирование к наследование, если уж вы не хотите mro::c3 с next::method 
пользовать и таким образом давать возможность пользовать миксины, если ОЧЕНЬ 
надо.
3) Теряете читабельность кода
4) Выигрываете мизерный процент на обращении к хешу.

И вы считаете это плюсом? Если вы где-то используете кодогеренацию вы что-то 
делаете не так.

---

Вы деретесь за сабы типа:  ref ${ft} s ? Так генерите их в базе с 
использованием какого-нибудь initialize метода так-же как и сейчас или заюзайте 
автолоад. А еще лучше посмотрите как это делает DBIx::Class.

---

Вам надо еще? Хорошо... Почему вы в коде где-то пользуете ссылку на CORE, а 
где-то нет? Вы в своем модуле, что defined и exists перебили? Или... Зачем это 
вообще? Причем в части коде есть CORE:: перед ref, в части нету...

---

Вы проверяете во время setup_row есть-ли у вас уже такой класс, только вот вы 
получаете имя класса и таблицу, а отдаете только имя класса... То есть я никоем 
образом не узнаю, что я 2й раз пытаюсь вызвать генерацию класса, и фиг с ним, 
если на одной и той-же таблице, а если на разных? Где там проверка на название 
таблицы и гроханье с большим ором, если она не такая. Где варн, если таблица 
та-же? Или это тренд такой "Если программист чего-то ступил, давайте ему 
максимально осложним поиск баги"?


Вы хотели ревью - вот он вам. Модуль выбросить или переписать по нормальному, а 
не через... кодогенерацию. Сейчас модуль безнадежен с точки зрения дальнейшего 
развития и использования. Его просто опасно использовать.

Fri, 16 Jan 2015 00:12:41 +0100 от PEF Secure <[email protected]>:
>On Friday, January 16, 2015 00:16:40  [email protected] wrote:
>> Нет, все... Я на куче кодогенерации выпал в осадок.
>
>В ней весь смысл. Данные объекта-строки хранятся массивом, конкретные поля 
>знают свои индексы в массиве. Первичные ключи знают свои индексы в этом 
>массиве.
>-- 
>PEF Developer
>-- 
>Moscow.pm mailing list
>[email protected] |  http://moscow.pm.org

-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить