Как выглядит работа андроид-разработчика в продуктовой команде?
1️⃣ Тот код, что в продакшне (то есть у пользователей), всегда лежит в мастер-ветке. Код, который вы пишете, окажется в мастере только в самом конце вашей работы над задачей, после код-ревью, тестов и релиза в стор. До этого он будет существовать в отдельной ветке, которая будет ревьюиться и тестироваться.
2️⃣ Вам приходит таска в таск-трекере (Jira, Miro, etc.), например «Интегрировать новый дизайн на экране авторизации».
3️⃣ Вы от мастера ответвляете свою ветку под эту таску.
4️⃣ Пишете в этой ветке свой код для таски.
5️⃣ Коммитите/пушите изменения в своей ветке и создаёте из ветки пулл-реквест в гитхаб.
6️⃣ Этот пулл-реквест уже смотрят ваши коллеги из андроид-команды — это и есть код-ревью. Ваш код комментируют, при необходимости предлагают что-то изменить или исправить — в таком случае вы вносите изменения и делаете новый коммит-пуш в эту ветку и отдаёте на ревью заново.
7️⃣ После того, как коллеги решили, что ваш код в порядке - они ставят "Approve" пулл-реквесту, и после этого вашу ветку можно отдавать в тестирование. В зависимости от договорённостей в команде и её размера, вам может потребоваться один или несколько аппрувов.
8️⃣ Если тесты прошли успешно - ваша ветка мёрджится в релизную ветку, если нет - идёте вносить исправления и снова отдавать на код-ревью.
9️⃣ Релизная ветка — та, которая пойдёт в стор, и сразу после этого смёрджится в мастер. В релизную ветку сливаются все ветки, которые проревьюены, протестированы и готовы к публикации в стор.
Важно: перед тем, как мерджить свою ветку в релизную, вам может понадобиться исправить мердж-конфликты. Они возникают, если в одном и том же месте в двух ветках были внесены разные изменения, и вам нужно определиться, что с этим делать: заменить одно изменение другим, или добавить и то и другое, или каким-то ещё образом выйти из этой ситуации, не сломав логику обоих изменений. Это можно делать или внутри Android Studio, подлив релизную ветку в свою, а потом исправить конфликты и запушить итоговые изменения в свою ветку, или в самом гитхабе в пулл-реквесте.
В каждой компании может быть свой, упрощённый или усложнённый процесс разработки продукта, но в общих чертах он будет выглядеть похоже на то, что я описал.
И, напоследок, помните: когда вы приходите в компанию, вам всё это объяснят, покажут и расскажут. Не стесняйтесь уточнять и задавать вопросы, если что-то в процессе вам будет непонятно. Никто не ждёт, что вы мгновенно разберётесь. Но основные понятия и этапы, которые я тут упоминал, вам следует знать.
#android #работа #советы
@andrdevnotes | androidmentor.ru
Post #39
772
- 👍 8
- 🔥 4
- ❤ 2
- 👌 1