Как (продолжить) учиться Мусу для его использования "честно" хорошо? - программирование
Подтвердить что ты не робот

Как (продолжить) учиться Мусу для его использования "честно" хорошо?

Хотя я не Perl-гуру, я использую Perl, и я могу писать объектно-ориентированные программы как "добрый старый" способ.

Теперь я хотел бы узнать Муса. Я уже (так же) пережевал основную документацию, и мой первый Лось и роли уже работают, но я далеко от понимания того, как на самом деле работает Лось.

Вопрос 1: Абсолютно необходимо понять, как Moose работает над написанием "хороших" программ?

Честно говоря, я не совсем понимаю старую объектную систему. Что-то, что я смутно помню, это то, что это фактически ссылка на структуру данных, но я никогда не исследовал глубже. Мне было достаточно знать, как и когда мне нужно было использовать bless, autoload и т.д., И все просто работало. Возможно, некоторые из моих старых модулей могут быть написаны более эффективно. Но для меня они работают и работают хорошо.

Это похоже на Муса? Или кто-то пишет "достаточно-хорошие" программы с Мусом, чтобы понять, как это работает "внутри"?

Вопрос возникает по следующим причинам:

В METACPAN находятся десятки модулей, которые помогают записывать объекты Moose еще проще и проще.

Примеры случайным образом:

и многие-многие другие (не хочу приводить сюда еще 10-20 модулей)

И теперь главный вопрос:

Есть ли хорошие книги с инструкциями, примерами и рекомендациями (передовой практикой) для:

  • что из вышеперечисленных модулей рекомендуется регулярно использовать с самого начала?

Вышеупомянутые модули, несомненно, не были разработаны только потому, что у автора просто нет того, что нужно делать. Конечно, они полезны и полезны. Но изучение (читай: пытаясь понять) десятки разных модулей (особенно тех, кто играет с внутренними силами Лося) - чрезвычайно долгий процесс. С другой стороны, если они не используются, мои программы будут излишне сложными, и я буду иметь дело с вещами, которые уже разрешены.

Лось должен быть (и, вероятно,) революционной системой. Только я начинаю заблуждаться.

Изменить. Я только что нашел Reindeer. Вероятно, этот модуль является частичным ответом на вопрос: какие модули полезны для использования с самого начала (или большей части времени)

PS: Я не уверен, что этот вопрос подходит для SO. Если нет, переместите его куда-нибудь или закройте. Я спросил его здесь, потому что сообщество SO-perl - действительно полезное место, и я не знаю, как продолжить изучение Муса.

4b9b3361

Ответ 2

Чтобы ответить на свой первый вопрос: не знать, как все работает внутри, - это вся абстракция. Хотя знание инсайдов иногда дает вам более полное представление о том, почему все работает так, как они делают (и тем более с чем-то сложным, как Moose), вы можете писать код просто отлично без него. Когда вы сталкиваетесь с проблемой, вы можете немного погрузиться, чтобы понять, что не так.

Второй вопрос, как узнать лося, действительно не подходит для.

Ответ 3

Google "Муха летает". Здесь вы найдете все, что вам нужно.