Как разделять относительно одинаковые скрипты между клиентами?
Имеются различные заказы на разработку дополнений для сайта. Предположим, что дополнения - как плагины для вордпресса. Иногда приходят заказы от разных клиентов на идентичный скрипт, тогда проблем нет, я делаю все в одной папке, использую гит, все сохраняю и далее рассылаю кому нужно. Но в какой-то момент доработка этого скрипта между клиентами может различаться и я не знаю как лучше с использованием гита вести уже 2 разные "версии" скрипта. Я пробую работать с разными ветками = разные клиенты, но не уверен, что это хороший вариант. Подскажите, у кого был подобный опыт или может что-то порекомендовать, как быть в ситуации, когда изначально для разных клиентов идентичный скрипт подходит, а потом нужно индивидуально под каждого допиливать?
Скрипты выросли. И у них появилась общая часть (shared). Которая не меняется. И вариативная часть которую
можно спокойно менять под каждого клиента. Как выделить общее и частное - это великая тайна.
И понять ее можно только с опытом.
Я-бы предложил следующую стратегию. В общее (shared) должны зайти интерфейсы и абстрактные классы
или какие-то сущности которые почти никогда не меняются. В вариативные части (client1, client2 ...)
зайдут реализации или то что просто сильно меняется.
Преимущества данного подхода - будет меньше кода в перспективе. Но есть и недостаток.
Некоторые клиенты могут почувстовать странное (немотивированное) изменение версии
в (shared) части которое они не заказывали. Впрочем это может быть редко или вообще никогда.