Хорошо, давайте предположим, что у меня есть потрясающее приложение rails с некоторыми сообщениями, которые можно комментировать и голосовать.Это онлайн, и людям это нравится.
Теперь представьте, что клиент подходит и говорит мне: «Эй, это приложение выглядит хорошо! Могу ли я иметь то же самое, но с моим логотипом и голосами, также в комментариях?»
Итак, я клонирую приложение, вносю изменения, затем я доставляю настроенное приложение клиенту, а затем возвращаюсь к своему исходному приложению и продолжаю улучшать его.
Пару месяцев спустя приходит другой клиент, который также хочет получить то же приложение (теперь улучшенное), но с голосами и комментариями.
Конечно, я понимаю, что клонирование приложения не былоумная идея.
Что я хотел бы знать, как бы вы с самого начала сделали, чтобы сделать его простым, понятным и СУХИМЫМ для повторного использования функции, созданной для первого клиента в проекте второго?
Тогда представьте, что многие клиенты приходят с множеством различных запрашиваемых функций.Теперь вы понимаете, что было бы просто замечательно иметь возможность «создать» новое приложение, используя только эту функцию или эту, но не эту и т. Д.
Как бы вы этого достигли?
Я думаю, что ветки git могут быть хорошим способом для достижения этого, или, может быть, Rails Engines / Gems, или я не знаю, но я определенно не достаточно git или rails, чтобы ясно видеть картину дыр.
Спасибо!