Нужны предложения по стандартам кодирования Ruby и Rails - PullRequest
2 голосов
/ 11 июня 2010

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

1 Ответ

1 голос
/ 11 июня 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...