Допустим, я одновременно работаю над несколькими интерфейсными функциями, которые все находятся в разных ветвях (например, login
ветвь, reset
ветвь паролей, update
ветвь настроек и т. Д.).В нашем текущем рабочем процессе мне решать, в каком порядке или каким образом я завершу все эти функции, если я выполняю их в течение установленного срока (например, 2 недели).
Чтобы улучшить темп, ясоздайте ветвь для каждой из этих функций и работайте над ними одновременно, сначала интегрируя функциональные возможности (так сказать, сложные части), а затем работайте над стилями и мельчайшими деталями.(Аналогия похожа на строительство дома; на самом деле вы не завершаете каждую часть дома одну за другой. Сначала вы строите все фундаменты, леса и все, прежде чем делать все декоративные элементы до конца.)
Теперь это нормально, если все эти функции полностью изолированы друг от друга.Тем не менее, есть некоторые функции или даже общие стили, которые я сделал, например, ветка login
, которые я могу использовать в ветке reset
пароли.(Например, обе формы являются, следовательно, должны иметь одинаковое общее оформление формы и будут использовать одни и те же функции проверки).
Однако, поскольку все они являются WIP все сразу, я не могу сделать PR для login
, прежде чем я продолжу работать над reset pw
(например, login
на 90% и reset pw
на 80%, но мне нужно что-то от login
, чтобы получить также завершение от reset pw
до 90%).Даже если я завершу login
, проверки PR могут занять некоторое время.
Я также не могу, например, объединить / перебазировать в login
с reset pw
, потому что 1. это смешало бы 2 различных функции и 2. *Функция 1023 * еще даже не одобрена.
Какова лучшая стратегия для такого сценария?Я нахожусь в дилемме, потому что лучший способ избежать этого - закончить одну функцию за другой.Но в то же время я работаю лучше, если делаю это так, как я только что упомянул (параллельно).