Куда относится рефакторинг в модели именования веток GitFlow?

22

Недавно я начал работать с моделью GitFlow, реализованной с помощью bitbucket. И есть одна вещь, которая мне не совсем понятна.

Мы стараемся регулярно справляться с нашей технической задолженностью, оставляя в памяти, планируя и выполняя задачи рефакторинга. Такие ветви рефакторинга заканчиваются pull-запросами, которые объединяются develop. Мой вопрос: где ветки рефакторинга принадлежат GitFlow ?

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

Была ли у вас такая ситуация? Какую практику вы используете для решения этой проблемы? Пожалуйста, объясните почему.

AMA
источник
Зачем вообще нужна ветка для рефакторинга? Они не изменяют функциональность продукта по определению, поэтому вы должны иметь возможность делать это непосредственно в разработке.
Jonrsharpe
Короче говоря, @jonrsharpe, это более удобно и управляемо. Обычно на рефакторинг есть билет Jira, и он также проверяется кодом во время запроса на извлечение. Кроме того, для него выполняются сборки и тесты до его слияния. Мы стараемся развивать ветку зелени.
AMA
4
Вы чрезмерно инженерные вещи - в этом случае, процесс. Рефакторинг так же, как вы работаете в системе, а не как отдельный рабочий пакет.
Мистер Кочезе
2
В этом случае: 1. У вас есть мои симпатии; и 2. Я бы сказал, использовать refactor, тогда ясно, что преобразование, которое каждое слияние должно делать с продуктом (исправление: исправить некорректное поведение, функция: добавить новое поведение, рефакторинг: сохранить предыдущее поведение). Но @MrCochese прав, это действительно должно быть частью другой работы, которую вы выполняете, а не отдельной задачей. Также обратите внимание, что если ваши рефакторинг нарушают сборку, они не рефакторинг!
Джоншарп
Некоторая часть работы по рефакторингу, которую вы выполняете, действительно должна быть частью основной работы. Я бы, конечно, не делал ветки рефакторинга регулярно, но только как часть больших усилий по очистке. Создание этой привычки будет поощрять другие вредные привычки, такие как перенос работы по очистке в ветку «Рефакторинг».
Роберт Харви

Ответы:

27

Рефакторинг работы должен идти в тематической ветке.

Приставка «функция» - это просто слово для описания задачи дискретного программирования. Вы можете выбрать любое слово, которое вам нравится, любая ветка разработки - это либо ветка «функция», либо ветка «релиз».

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

Подобным образом ветки «исправлений» не называются исправлениями, потому что они содержат исправления, а потому, что они скорее разветвляются, чем разрабатывают

Ewan
источник
1
Спасибо. Это звучит разумно. Я подожду еще немного, и если других ответов не будет, я приму ваши.
AMA