Де належить рефакторинг у моделі іменування гілок GitFlow?


22

Нещодавно я почав працювати з моделлю GitFlow, реалізованою бітбукетом. І є одна річ, яка мені не зовсім зрозуміла.

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

  • Використання featureпрефікса здається найбільш логічним, проте він не вважає себе цілком правильним, оскільки рефакторинг не додає нових функціональних можливостей.
  • Однак використання bugfixпрефіксу здається не правильним, так як немає фактичних виправлень помилок рефакторингу.
  • З іншого боку, створення спеціального префіксу, схоже, ускладнює, якщо не надмірно розробляти речі.

У вас була така ситуація? Яку практику ви використовуєте для вирішення цього питання? Поясніть, будь ласка, чому.


Навіщо взагалі потрібне відділення для рефакторів? Вони не змінюють функціональність продукту за визначенням, тому ви повинні мати можливість робити їх безпосередньо в розробці.
jonrsharpe

Коротше кажучи, @jonrsharpe - це зручніше і керованіше. Зазвичай є квиток на Джиру для рефакторингу, і він також переглядається кодом під час запиту на витяг. Крім того, для цього виконуються збірки та тести до об'єднання. Ми намагаємося розвивати гілки зеленими.
AMA

4
Ви надмірно інженерні речі - в цьому випадку процес. Рефактор, як ви працюєте в системі, а не як дискретний робочий пакет.
Містер Кохез

2
У такому випадку: 1. Ви маєте мої симпатії; і 2. Я б сказав, використовуйте refactor, тоді зрозуміло, яку трансформацію очікує зробити кожен злиття продукту (помилка: виправити порушену поведінку, особливість: додати нову поведінку, рефактор: зберегти попередню поведінку). Але @MrCochese має рацію, вона справді повинна бути частиною іншої роботи, яку ви робите не окремим завданням. Зауважте також, що якщо ваші рефактори порушують збірку, вони не є рефакторами!
jonrsharpe

Деякі роботи по реконструкції, які ви виконуєте, дійсно повинні бути частиною основної роботи. Я, звичайно, не буду робити гілки рефактора звичайно, але лише як частина великих зусиль з очищення. Зробити цю звичку заохочуватимуть інші шкідливі звички, такі як відкладання роботи з очищення до гілки "рефактор".
Роберт Харві

Відповіді:


27

Роботи по реконструкції повинні проходити в особливій галузі.

Префікс "функція" - це лише слово, яке описує дискретне завдання програмування. Ви можете вибрати будь-яке слово, яке вам подобається; будь-яка гілка в процесі розробки є гілкою "функції" або гілкою "випуску"

Додавання нового префіксу типу "рефакторинг" є проблематичним. Оскільки ви часто робите рефакторинг під час додавання функції, ви просто ставите собі проблему з іменуванням та додаєте плутанину. тобто. "деякі наші гілки функцій називаються" рефакторинг ", але вони не містять усі роботи по рефакторингу, а іноді вони мають виправлення помилок або функції в них"

аналогічно гілки виправлення не називаються виправленнями тому, що вони містять виправлення, а тому, що вони відгалужуються від головного, а не розвиваються


1
Дякую. Це звучить розумно. Я зачекаю ще трохи, і якщо інших відповідей не буде, я прийму ваші.
AMA
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.