Алексей Голобурдин, команда Диджитализируй! - Типизированный Python для профессиональной разработки (2022)

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
7,762
Реакции
1,450
Credits
25,294
Типизированный Python для профессиональной разработки
Автор: Алексей Голобурдин, команда Диджитализируй! (2022)
фронт.jpg
Цель этой книги — помочь тебе научиться писать более красивые, надёжные и легко сопровождаемые программы на Python. То, о чём мы здесь будем говорить, это не начальный уровень владения языком, предполагается, что ты уже минимально умеешь программировать, но хочешь научиться делать это лучше. И это — отличная цель, к которой мы вместе будем двигаться на протяжении ближайших часов! Этот материал есть также в видео формате на моём YouTube — «Диджитализируй!». Также обращаю внимание, что на момент написания этих строк готовится перезапуск моего авторского курса «Основы компьютерных и веб-технологий на Python» course01.to.digital, запуск планируется в июне 2022, если ты читаешь этот материал позже, то вполне вероятно, что на курс уже снова можно записаться. Итак! Часто в учебниках и курсах по Python не уделяют должного внимания типизации и некоторым структурам, в то время как они очень важны и могут значительно, просто драматически улучшить твой код. В ревью кода начинающих разработчиков часто видны результаты того, что в учебных материалах не уделяется отдельное внимание вопросам типизации. В коде не используются подсказки типов, используются неправильно, не лучшим образом выбираются типы для разных данных в приложении и так далее. Качество программы и её надёжность страдают — а это гораздо более важные параметры, чем многие поначалу думают. Поначалу кажется, что я написал программу, она в моих идеальных условиях работает и этого достаточно. Но нет, этого недостаточно. Наличие функциональности это одно, а надёжность этой функциональности и качество реализации этой функциональности это совсем другое. Наличие функциональности это когда вы видите обувь и думаете — о, отлично, можно её надеть и пойти в ней куда-то. А надёжность и качество реализации этой функциональности это про то, что у вас не треснет подошва где-то на улице, в обувь не будет попадать вода, обувь не будет натирать вам ноги, она не потеряет быстро приличный вид, а также это про то, что обувь легка в эксплуатации, её можно легко протереть, её можно ремонтировать и многое другое. То, что мы написали программу и она имеет функциональность — это вовсе не означает, что программа действительно хороша. В этой небольшой книге мы поговорим о том, как разрабатывать, думая не только о функциональности, но и о качестве и надёжности её реализации. Мы поговорим о типизации в Python, поговорим о нескольких структурах и встроенных типах: NamedTuple, dataclass, TypedDict, Enum, Literal, Union, Optional, Iterable, Sequence, Callable, TypeVar и др. Напишем приложение погоды, используя эти типы и поясняя по ходу некоторые архитектурные моменты выбора того или иного подхода. Смотри видео версию этой книги на YouTube и читай обязательно до конца. Обещаю, что после проработки этого материала твой код больше никогда не будет прежним. Буквально — драматическое улучшение кода гарантировано. Как пишут в англоязычных книжках, dramatic improvement! Поднимаемые вопросы актуальны, кстати, не только для Python, говорить мы будем о нём, но аналогичные подходы применимы и к PHP, TypeScript и тд. Подходы к написанию качественного ПО схожи для разных языков программирования, выступающих просто инструментом реализации задумок автора кода. Говорить мы здесь будем о версии Python 3.10. В предыдущих версиях Python некоторые аспекты работают чуть иначе (нужно импортировать некоторые типы из typing, например), но это не столь критично
Скрытое содержимое могут видеть только пользователи групп(ы): Premium, Местный, Свои