View in Telegram
Как разобраться в новом проекте? Вы нашли свою первую работу и теперь огромный список модулей пугает вас так, что вы боитесь открыть директорию? Не знаете с чего начать постигать проект, пока тимлид ищет вам первую кнопку на покрас? Тогда вот вам простой и понятный список шагов, которые вам стоит пройти, прежде чем приступить к первым задачам: 1. Какие правила Git Flow приняты в проекте? От чего мы создаем рабочие ветки и есть ли у нас обязательные (или не очень) feature toggles? Имеет смысл уточнить у коллег, так как в разных компаниях могут быть приняты разные правила. 2. Многомодульность - есть ли вообще? Если есть - по какому принципу происходит разделение на модули (папочки с названиями feature, common, core помогут вам в этом). Не зазорно спросить об этом у коллег, если возникнут вопросы. 3. Есть ли Clean? Разбиение внутри модуля или под каждый слой - отдельный модуль? Открываем рандомные фичи и впитываем - где у нас лежат репозитории, где юзкейсы, а где viewModel. 4. Какая архитектура принята на Presentation слое? Открываем viewModel и смотрим - что используется для работы со стейтами (flow, liveData), как происходит работа с многопоточностью (корутины/rxjava). Смотрим и впитываем - во viewModel разного размера и сложности вы проведете большую часть своей андроид жизни. 5. Узнаем, как происходит навигация между экранами (в рамках одной фичи и между фичами), скорее всего во viewModel вы найдете что-то с названиями "router" и "navigation". Заходим в реализации и изучаем - точно понадобится. 6. Смотрим, где наша viewModel вызывается и легким движением руки переходим к UI части. У вас Compose? Поздравляю - вы модные и молодежные. Xml с тонной кастомных view? Искренне сочувствую. На всякий случай сделайте паузу в изучении проекта и забронируйте слот к психотерапевту. 7. Пункт со звездочкой - попробуйте (только осторожно) разобраться в том, как у вас работает DI. Но бояться вам нечего, ведь вы меня послушали и слот забронировали. Находим в вашем фиче модуле директорию с названием DI и пробегаем по таким файлам как Module и Component (скорее всего у вас даггер). Если вы сразу поняли, как это все работает и вяжется в единый проект - вы герой и вообще молодец. Наверняка в этих пунктах для вас не нашлось ничего нового. 8. Узнайте, есть ли у вас дебаг меню (и как его найти), есть ли разделение на стенды - dev, prod и тд. И узнайте, у кого брать тестовых юзеров для логина. Вы великолепны и готовы к покраске своей первой кнопки. Возможно даже к проектированию первого экрана 😁 Дальнейшее осознание проекта будет увеличиваться по мере того, как вы начнете создавать новые фичи и фиксить старые (и не очень) баги. Успехов 👍 🦝Менторство
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram Center
Telegram Center
Channel