vs101ff
@vs101ff
React.JS разработчик

Как прочувствовать дизайн ПО?

Здравствуйте, уважаемые специалисты!

Хочу овладеть дизайном ПО, уметь определять и устранять запахи кода, чтобы устроиться frontend разработчиком в крупную компанию или на Upwork.

Сейчас я выполняю следующие активности:

1. Читаю базы кода наподобие https://github.com/hashicorp/terraform , https://github.com/chakra-ui/chakra-ui , чтобы проверить свои предположения и увидеть применения принципов, паттернов, рефакторингов в большом масштабе.

Представляю, как было бы плохо [изменять фрагмент программы / понимать, что он делает или как он работает], если бы код был структурирован иначе, и провожу параллель к запахам кода. Стараюсь испортить отношения наследования и делегирования. Разбираюсь в причинах (не) применения принципов S.O.L.I.D., паттернов проектирования.

2. Пишу код, применяя свои знания. На определенном этапе разработки (frontend, предметной модели, тестов) прекращаю писать код. Усложняю задачу и прибегаю к UML диаграммам, схемам воображаемого большого ПО, из кода пишу только отдельные сниппеты на разных уровнях декомпозиции задачи и в разных слоях.

3. Задаю вопросы ИТ сообществу, буду участвовать в открытых проектах.

Вопрос:

Что еще можно добавить / убавить здесь? При условии, что я пока на остаюсь на фрилансе.
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Бери и делай
добавить / убавить для чего, какая ваша цель? Если ваша цель - устроиться в офис, то

Пишите код. Программы. Много. Можете с закрытыми глазами написать ToDo? Ок, пишите интернет магазин. Написали? Ещё. Уже ещё? Ок, пишите сложнее, сортировки, запросы на сервер, небольшой сервер напишите. Напишите, блин, движок для 3D отрисовки в браузере на canvas (шутка, не вздумайте)...
Пишите как умеете и поймёте, где ошибки и куда расти. Думать над подходами, писать архитектуру приложения (хоть мелом на асфальте) перед тем, как писать код. Попробуйте отдать свой код на код-ревью. Возможно, на платное. Думаю, что много кто с удовольствием посмотрит несложный интернет магазин за парочку десятков баксов. В любом случае, грамотный ментор выступает в роли множителя эффективности, где-то, раз так в сто. Сейчас все в онлайне. Этих менторов тьма. Там и педагоги и Сеньоры и архики, кто хочешь.
Если нечем заняться, то попробуйте вести разработку через GitHub с двух аккаунтов. Добавить какой-нибудь таск-менеджер типа Jira. Справляетесь? Ок, вы готовы попробовать работу в команде. Мониторите вакансии и довыучиваете нужные навыки, подаёте резюме... дальше, думаю, понятно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы