@Radist_101

Как объединить два похожих проекта в один?

Есть две crm'ки, вторая из них основана на базе первой и иногда при внесении изменений в проект приходиться дублировать код, какие можете посоветовать технологии или идеи для того чтобы обойти это дублирование.
  • Вопрос задан
  • 254 просмотра
Решения вопроса 3
bobrovskyserg
@bobrovskyserg
Сложно:
Вынести общий код в отдельный проект и произвести дочерние crm-ки
Геморно/тупиково:
Слить проекты в один с "условной компиляцией" - включением той или иной функциональности по флагу
Правильно:
Оставить как есть: иногда - это ведь не всё время, работает - не трогай.
Съэкономленное время потратить с пользой ))))
Ответ написан
Комментировать
Я не работал с Flask и не знаю деталей реализации конкретно ваших приложений, так что в моем ответе скорее общие размышления по теме, чем конкретные рекомендации.
Есть замечательный принцип DRY (Don’t repeat yourself).
В соответствии с ним я бы выделил общие или минимально различающиеся части ваших проектов в одно отдельное приложение, например base_crm и подключал бы его в каждом из проектов.
А уже в самих проектах дописывал, наследовал и переопределял только специфичные для конкретного проекта части.

Конечно при сильном изменении логики в base_crm придется менять и код проектов где она используется, но при этом не понадобится дублировать код. А при необходимости дублирования стоит подумать, нет ли смысла вынести такой код в базовую часть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы