Где насматривать типовые паттерны и алгоритмы в программировании?
Публичный постВот я могу себе представить видео на YouTube, где кейс за кейсом разбирают типовые и даже нестандартные ситуации на дороге для мотоциклистов и водителей автомобиля.
Для писателей и сценаристов есть TVtropes.org
У дизайнеров есть Pttrns
А какие ресурсы (каталоги, книги, видео, курсы, тренажеры) есть для того, чтобы научиться отличать изящный и эффективный код от не очень? Понятно, что есть специфика языков, операционных систем и конфигурации устройств, но, я думаю, что есть и общее и есть инфа как это учитывать. Кроме того есть разные парадигмы (типа ООП и ФП), которые могут больше подходить для тех или иных модулей и частей программы, для тех или иных юзер-кейсов.
Давайте в этом посте перечислим такие ресурсы, возможно, кому-то кроме меня это будет полезно!
Рекомендую такие книги как:
Роберт Мартин - "Чистый Код", "Чистая Архитектура" и "Чистый Программист"
Егор Бугаенко - "Elegant Objects"
Александр Шень - "Программирование. Теоремы и задачи"
Сассман - "SICP"
Эрих Мария Гамма - "Паттерны"
На десерт Столярова или Александреску. Но вообще список можно продолжать бесконечно!
С фокусом на Python: https://python-patterns.guide
Ну и если посмотреть пару выступлений автора (Brandon Rhodes) на ютубе, то быстро отправит в спираль видосов на эту тему
Я б сказал, что основной ресурс – это постоянная работа с саморефлексией и самообучением. Книги и их рецензии, онлайн-курсы, записи с конференций, открытые репозитории, читаем-пишем код на работе с код-ревью, литкод-задачи и их решения, гайдлайны, стаковерфлоу ... – в общем, все что попадется, все что релевантно и все что нравится.
Рекомендую
https://github.com/poteto/hiring-without-whiteboards
Закину каналы, которые насматриваю для подготовки к интервью.
https://youtube.com/@freecodecamp - разное по разработке.
https://youtube.com/@NeetCode - только разборы задач на алгосы.
https://youtube.com/@ByteByteGo - system design, как работаю разные сервисы типа авторизации, платежей и тд.
добавлю свои 5 копеек - помимо указанного выше канала Neetcode есть его отличный сайт, где представлен роудмэп по задачам, объединенным одной темой https://neetcode.io/roadmap
Refactoring.guru (из рф нужен впн), там оч подробно много паттернов разобрано
Немного не по теме, а какое это видео на YouTube для автомобилистов?
https://en.algorithmica.org/hpc/
По паттерна мне понравилась head first design patterns. Там описано простым языком довольно и с юмором.
А алгоритмы и структуры данных
в GeeksforGeeks
https://www.geeksforgeeks.org
GeeksforGeeks и глянуть документацию самого языка. Я в свое время кучу всего крутого в документации питона нашла, в том числе реализации алгоритмов).
У коллег в коде. Если компания достаточно большая, то там хватит, и паттернов, и антипаттернов
Всё познаётся на практике.
Если ваша текущая работа не связана с кодом, кажется, полезно просто смотреть код опенсорсных проектов (не просто смотреть, а разбираться в каких-то кусках). Со временем складывается понимание общих принципов, как пишутся библиотеки и какие подходы существуют. Легче видишь проблемы. Чаще вспоминаешь типовые решения.
Если на работе, то полезно иногда в код смежных команд заглядывать. Это легко с одной стороны, потому что есть какое-то представление обычно, что же там происходит. С другой стороны, у коллег могут быть свои гайдлайны, что может приводить к другим решениям.