2009-09-12 3 views
0

По причинам, в которые не стоит попасть, объект Model приложения django, над которым я работаю, теперь «ошибочен», поскольку число отношений от 1 до многих представлено как «Многим многим». Приложение функционирует правильно и большую часть пути через QA. Он никогда не был развернут.Должен ли я реорганизовать объектную модель Django?

Мой дизайн OCD заставляет меня хотеть реорганизовать его, чтобы исправить проблему. Единственное удобное время для этого - сейчас, прежде чем оно вступит в производство, но это все еще не так хорошо, поскольку QA нужно будет переделать, а проект проскользнет.

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

ответ

2

Единственная причина в бизнесе, которую я мог бы увидеть, чтобы оправдать повторный контроль QA, - это ремонтопригодность. Мои вопросы будут следующими:

  • Является ли этот проект тем, который будет использоваться в течение длительного периода времени?
  • Является ли этот проект тем, который будет изменен и адаптирован с течением времени?
  • Будут ли адекватные возможности QA, когда изменения потребуются позже?

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

0

Мне кажется, что ваши «причины не стоит вникать» на самом деле важны здесь. Эта проблема «один-ко-многим» и «многие-ко-многим» вызывает запах клиента, который изменил свои требования. Это бывает так часто, что я собираюсь предположить, что это произошло здесь.

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

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