Профессиональный рефакторинг кода! (Чистка Python-кода и его переписывание с использованием классов)
Keith Galli
0:00 / 0:00
Профессиональный рефакторинг кода! (Чистка Python-кода и его переписывание с использованием классов)
45 074 просмотра · 6 лет назад
Keith Galli
258 тыс. подписчиков
45 074 просмотра · 6 лет назад
В этом видео мы берём код из моего урока «Как запрограммировать игру (на Python)» и перерабатываем его, чтобы он стал более профессиональным. Для этого мы выделяем похожие части кода в отдельные классы и файлы. После написания нового кода мы рассматриваем несколько примеров того, как можно интересно расширить его функциональность. Мы создаём пару более сложных уровней игры, которые благодаря новой архитектуре кода становятся очень лёгкими. Конечный продукт гораздо больше похож на код, который вы бы писали, будучи штатным разработчиком программного обеспечения в таких компаниях, как Google, Facebook и т. д.
Как всегда, я оставил временную шкалу видео в комментариях! Если вам понравилось это видео, пожалуйста, поставьте лайк и подпишитесь на канал, чтобы не пропустить будущие видео :). Если у вас есть вопросы, задавайте их в комментариях!
Подписывайтесь на меня!
/ shaneboyer_
/ _neos
Исходный код игры (оригинальный и рефакторизованный):
https://github.com/KeithGalli/Basic-P...
Ссылка на оригинальный учебник «Как запрограммировать игру (на Python)»:
• How to Program a Game! (in Python)
Ссылка на видео о классах и объектно-ориентированном программировании:
• Everything you need to know about Classes ...
Дополнительная информация о геттерах и сеттерах:
• Python OOP Tutorial 6: Property Decorators...
Несколько отличных ресурсов, если вы хотите писать более качественный/чистый код! (партнерские ссылки)
https://www.python.org/dev/peps/pep-0...
https://amzn.to/2U90SWk
Присоединяйтесь к армии Python, чтобы получить доступ к бонусам!
YouTube - / @keithgalli
Patreon - / keithgalli
---------------------
Подписывайтесь на меня в социальных сетях!
Instagram | / keithgalli
Twitter | / keithgalli
---------------------
Видеохронология! (и некоторые дополнительные ресурсы)
0:00 Обзор видео и настройка кода
3:04 Создание класса Player
10:43 Создание подклассов для Enemy и HumanPlayer
11:26 Создание класса Color
14:35 Создание класса Screen для всех визуальных элементов игры
27:00 Создание игрового класса для всей игровой логики
32:54 Информация о геттерах и сеттерах в Python
38:09 Объединение всего этого в файле main.py!
43:36 Тестирование кода и отладка проблем
47:20 Информация о if name == "__main__"
48:26 Создание более сложных уровней игры с использованием новой структуры классов!
54:00 Исправление «чит-кода», позволяющего выйти за пределы экрана
55:44 Загрузка пользовательских изображений в качестве блоков врага
*Я использую партнерские ссылки на рекомендуемые мной продукты. Я могу получать комиссию за покупку или реферальный бонус за использование этих ссылок.