Здравствуйте, уважаемые специалисты!
Хочу овладеть дизайном ПО, уметь определять и устранять запахи кода, чтобы устроиться frontend разработчиком в крупную компанию или на Upwork.
Сейчас я выполняю следующие активности:
1. Читаю базы кода наподобие
https://github.com/hashicorp/terraform ,
https://github.com/chakra-ui/chakra-ui , чтобы проверить свои предположения и увидеть применения принципов, паттернов, рефакторингов в большом масштабе.
Представляю, как было бы плохо [изменять фрагмент программы / понимать, что он делает или как он работает], если бы код был структурирован иначе, и провожу параллель к запахам кода. Стараюсь испортить отношения наследования и делегирования. Разбираюсь в причинах (не) применения принципов S.O.L.I.D., паттернов проектирования.
2. Пишу код, применяя свои знания. На определенном этапе разработки (frontend, предметной модели, тестов) прекращаю писать код. Усложняю задачу и прибегаю к UML диаграммам, схемам воображаемого большого ПО, из кода пишу только отдельные сниппеты на разных уровнях декомпозиции задачи и в разных слоях.
3. Задаю вопросы ИТ сообществу, буду участвовать в открытых проектах.
Вопрос:
Что еще можно добавить / убавить здесь? При условии, что я пока на остаюсь на фрилансе.