До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Дневник студента

Проект «Игры разума». Впечатления от выполнения

Время чтения статьи ~4 минуты
Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Проект «Игры разума». Впечатления от выполнения главное изображение

Первый проект в специальности «Python-разработчик» при самостоятельном обучении. Первый проект в жизни.

Предисловие

Проект «Игры разума» стал моим первым самостоятельным проектом в рамках обучения по профессии «Python разработчик». Да и вообще первым проектом, в котором я одновременно создавал код, настраивал окружение и размещал на GitHub.

Описание проекта

Моими глазами проект на старте выглядел так:

  • Написать несложный код, описывающий логику пяти игр
  • Отладить работу кода. Провести ручное тестирование
  • Аккуратно оформить этот код по правилам и нормам
  • Упаковать код в poetry и выгрузить на GitHub.

Ход выполнения проекта

  1. Знакомство с описанием и предисловием к проекту. Тут первое представление о том, что все будет легко и понятно, быстро улетучивается. Уже на первом шагу проекта я столкнулся с тем, что мои ожидания ошибочны. Я приготовился писать исполнительный код программ, а тут сперва надо настроить окружение. Причем настройка окружения оказалась более сложной, чем это было описано в предшествовавшей теории. Я приуныл и на какое-то время отложил проект. Приуныл из-за того, что столкнулся с непонятным и сложным.

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

  3. На четвертом шаге я плотно познакомился с CodeClimate и flake8. Эти инструменты произвели на меня сильное приятное впечатление. Оказалось, что часть тестирования кода (ту часть, которая про понятность и читаемость человеком) можно хотя бы частично регламентировать и доверить программе. Я и раньше слышал рассказы о подобных возможностях, но плотно столкнулся впервые.

  4. И вот наконец-то на пятом шагу я создал первый работающий файл одной из игр. Сам код игры писал минут пять, а вот потом ещё час «игрался» с ним. Тестировал, проверял, запускал, прогонял через flake8 и так далее. Первое ощущение от того, что написал именно «целевую» часть проекта.

  5. На шестом шаге я написал код второй игры. И, когда начал собирать эти игры внутри проекта, пришлось прилично переписать код первой игры. Чтобы «не повторять себя» и чтобы код был более универсальным. Сам код второй игры опять занял не много времени. А вот переделки, доделки и прогоны через flake8 заняли прилично времени. Стало понятнее, зачем нужно всё это окружение. Именно благодаря настройкам окружения «переделки» проходили достаточно быстро, а формирование нового пакета, его инсталляция и запуск превратились в постой запуск скрипта… В несколько десятков запусков скриптов…

  6. Три последующих шага полетели быстро. Уе сформировалось в сознание понимание того, что и как нужно сделать. Написал код, отладил код, встроил в пакет, прогнал через CodeClimate и flake8, исправил. Ощущение, как будто на конвейере.

  7. Перед тем, как запустить автоматическую проверку проекта еще раз все аккуратно проверил и вручную протестировал. Вытащил еще несколько ошибок, исправил их. С замиранием сердца отправил на автоматическую проверку. Томительные несколько минут ожидания.

  8. После первой поверки система выдала мне протокол действий из почти двухсот строк. И проект не был принят. Уныние. Через пол часа собрался с силами и стал разбираться в протоколе. Совсем не сразу, но я понял, что практически все проверки я прошел, кроме одной. Запятая после последнего элемента списка. Мой локальный flake8 на это не ругался, а автоматическая система проверки проекта это заметила. Исправил, запустил. И ВСЁ!

  9. Зелёная галочка в зелёном кружке в виде результата! Класс! С таким удовольствием я со школы не учился!

Впечатления от проекта

«Как будто сам сдал с первого раза матан на первом курсе!». А если более подробно, то вот так:

  • Собственная неуверенность в начале мешает двигаться в проекте намного больше, чем отсутствие знаний и навыков.
  • Как бы хорошо и аккуратно я не учился и не разбирался в курсе до проекта, все равно пришлось многократно возвращаться к пройденному материалу раз за разом, пока результат не начинал соответствовать сперва моим ожиданиям, а потом системе автоматической проверки.
  • Для себя я с некоторым удивлением обнаружил, что объём «переделок» и «доработок» в проекте, как вызванных моими ошибками, так и заложенный шагами проекта, больше, чем сам объем итогового результата. Прям как в моей текущей работе.
  • «Дорогу осилит идущий!». Если каждый день стараться делать хотя бы понемногу, то результат начинает появляться довольно быстро. Казалось бы банальность, но в очередной раз работает.

Мне очень понравилось. После того, как система автоматической проверки приняла у меня проект, я ощутил искреннюю радость, прямо даже восторг. Проект «прокачал» меня не только технически, но и добавил уверенность в том, что я смогу пройти весь путь по освоению специальности.

Выводы

  • Проект это сложно, и требует не менее 20 часов чистого времени
  • Чтобы все выполнить правильно, придётся вернуться и повторить предшествовавшую теорию, и не раз
  • Именно проект позволил мне почувствовать, что я «что-то знаю и что-то умею»
  • В процессе выполнения проекта у меня сформировались навыки и знания, которые в рамках предшествовавшего курса были только обозначены.

Спасибо за проект!

Аватар пользователя Антон Тюрин
Антон Тюрин 13 марта 2023
6
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 28 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 28 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 28 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 28 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 28 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 28 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 28 ноября