2010-06-11 3 views
2

Я разрабатываю свое приложение с использованием Rails. Он имеет 400 или более моделей, а некоторые модели содержат более 200 строк только для отношений, поэтому он слишком жестко справляется с этим. Есть ли способы, которыми я могу обрабатывать свое приложение более корректно и легко?Необходимое предложение для стандартов кодирования Ruby и Rails

+0

Нужна дополнительная информация. Какое приложение вы делаете? Это ваш первый? Как у вас было так много моделей? Возможно, вам нужно больше абстрагироваться, но без подробностей я не могу дать ответ – eipipuz

+0

Согласен - действительно ли 400 моделей? Больше деталей было бы полезно. – aronchick

ответ

1

В приложении, с которым я работаю, существует около 100 моделей. Немногие вещи, которые помогли нам разработать его:

  • вы можете создать иерархическую структуру каталогов для моделей. Очевидно, что когда речь идет о контроллерах, но для моделей это не так просто
  • вы можете разделить модели на логические части, вставив куски кода в модули
  • Выполнение над двумя точками иногда позволяет вам увидеть некоторые способы рефакторинга кода , Некоторые модели могут распространяться между моделями. Некоторые вещи могут быть исключены из методов, которые будут динамически генерировать общие части моделей.
  • Иногда модули обрабатывают ненужную логику, и это усложняет их понимание - если ваши методы содержат множество case s или if s для обработки объектов разных типов (как администратор/нормальный пользователь), вероятно, вы должны использовать полиморфизм
  • рефакторинга, рефакторинг, рефакторинг ;-)

Мудрого рефакторинга занимает много времени, но если вы уроните эту часть разработки, обслуживание проекта станет подавляющим. Ознакомьтесь с книгами о Ruby, RoR, рефакторинге, метапрограммировании. Инвестирование времени в обучение также может принести эффект.

Смежные вопросы