RoR: Управление крупными проектами.Нужна помощь от RoR Seniors, которые работали над большими проектами - PullRequest
0 голосов
/ 28 марта 2012

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

Буду признателен за помощь в определении погоды для отладки приложения или просто для создания другого. Я работаю над приложением rails 2.5 со старыми плагинами.

И я единственный, кто все это делает. T.T

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Это действительно соблазнительно для проекта, как вы описали, выбросить старый код и переписать, но это почти всегда ошибка (см. http://en.wikipedia.org/wiki/Second-system_effect. ссылки в конце относительно переписываний неоценимы, особенно http://chadfowler.com/2006/12/27/the-big-rewrite).

Я предполагаю, что у вас нет реального набора тестов, иначе было бы легче отследить проблемы, и у вас, вероятно, был бы меньший проект, так как хорошо протестированные проекты, как правило, хорошо продуманы ( хотя не всегда). Это очень усложнит повторную реализацию и даст вам уверенность в том, что вы реплицировали всю функциональность и что любые зависимости хорошо работают с «новым и улучшенным» кодом.

И если ваши пользователи получают ошибочные результаты, я бы рискнул сказать, что вы на самом деле не знаете, в чем проблема, так что переписывание не решит эту проблему.

Когда я беру на себя проект, подобный этому, первый шаг - написать набор тестов для определения характеристик, документирующих способ работы системы в НАСТОЯЩЕЕ ВРЕМЯ. Часто при этом вы обнаруживаете часть функциональности, которая не имеет смысла или не соответствует остальной части системы - это может быть, где ваша проблема. Пройдя этот этап, мы можем приступить к рефакторингу уродливых частей, очистке представлений, перемещению логики в то место, к которому она принадлежит, удалению мертвого кода и т. Д. Но эти тесты действительно важны, если вы хотите сохранить работу системы.

Наконец, установите разумные ожидания для себя. Подобные проекты не превращаются в беспорядки в одночасье - вы не можете исправить их и в одночасье.

0 голосов
/ 28 марта 2012

Fujisan Я в той же ситуации, что и вы. Я думаю, что лучше всего сначала отладить текущее приложение rails, а затем подумать о его перестройке. Если вы перестраиваете приложение rails, это займет больше времени, чем ожидалось. Я начал так:

  1. Создана отдельная база данных и репозиторий с тем же кодом и данными, которые извлекаются с живого веб-сайта. Я использую этот сайт для работы с ошибками, а не на живом сайте.
  2. Сначала начал, зная, какие модели присутствуют, и начал с пользовательской модели. На этом этапе лучше всего использовать консоль rails и dbconsole, если вы не использовали их ранее. С помощью ruby ​​легко найти зависимости с консоли.
  3. Просто подправил модели и выяснил отношения между разными моделями. После моделей посмотрел на контроллеры. Теперь, когда у меня есть представление о том, что происходит в приложении, я начал с наброска цели каждой модели и того, что она делает, как и почему создаются зависимости.
  4. Наконец-то пошел работать над ошибками и предложениями. Основное препятствие было с драгоценными камнями. Когда сайт создавался пожилыми людьми, драгоценные камни были очень активными, и теперь они все осиротели. Это затрудняет получение ответа на любые ошибки, которые сохраняются из-за этих драгоценных камней.

Railscasts - ваши лучшие друзья!

Надеюсь, это помогло. Удачи!

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