Постановка задачи:
Данный:
- TFS как источник контроля
- Тяжелое настольное клиентское приложение с тоннами устаревшего кода с плохой или почти отсутствующей архитектурой.
- Клиенты постоянно нуждаются в новых функциях с качеством звука, быстрой
доставкой и постоянно жалуются на недружественный пользовательский интерфейс.
Проблема:
Приложение, несомненно, требует глубокого рефакторинга. Этот процесс неизбежно делает приложение нестабильным, и необходима отдельная фаза стабилизации.
Мы попробовали:
Рефакторинг в мастере с периодическим слиянием от мастера (МБ) к ветке объектов (FB). (моя ошибка) Результат: много нестабильных веток.
Что нам посоветуют:
Ссылка на статью (pdf)
Создайте дополнительную ветку для рефакторинга (РБ), периодически синхронизируя ее с МБ путем слияния из МБ в РБ. После стабилизации RB мы заменяем master на RB и создаем новую ветку для дальнейшего рефакторинга. Это план. Но здесь я ожидаю настоящего слияния MB с RB после слияния любого FB с MB.
Основное преимущество: стабильный мастер большую часть времени.
Есть ли лучшие альтернативы процедурам?