Проект Игры разума

Уровень: 1

Профессия PHP-программист

Погрузитесь в экосистему PHP, научитесь настраивать рабочее окружение. Подружитесь с CodeSniffer (линтером, анализатором качества кода) и менеджером зависимостей Composer. Поймёте, чем git отличается от GitHub, поработаете с внешними репозиториями. Получите опыт построения архитектуры полноценного приложения и написания чистого кода.

9
шагов
2-4
недели

Проект - важная часть обучения. Тут закрепляются навыки, полученные в курсах и приобретаются новые. Начните профессию, двигайтесь по шагам и приступайте к проекту, когда будете готовы

Цель

Цель данного проекта — закрепить знания, полученные во время прохождения курсов, получить навыки разработки на языке PHP, научиться настраивать рабочее окружение для разработки, получить базовые навыки работы с репозиториями, анализаторами качества кода и менеджерами зависимостей на примере composer.

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

В рамках проекта необходимо реализовать набор мини-игр, запускаемых из консоли.

Пример игрового процесса:

$ brain-progression

Welcome to the Brain Game!
What number is missing in this progression?

May I have your name? Roman
Hello, Roman!

Question: 14 .. 18 20 22 24 26 28
Your answer: 16
Correct!
Question: 5 6 7 8 9 .. 11 12
Your answer: 10
Correct!
Question: 12 15 18 21 .. 27 30 33
Your answer: 24
Correct!
Congratulations, Roman!

Впечатления

Спасибо! :) Впечатления смешанные. В плане проекта, я бы сказал, что он разработан именно так, что при прохождении курсов в рамках профессии, полученных знаний хватает для прохождения проекта. Поэтому в рамках обучения этот проект очень кстати, и его сложность оптимальная, для получения новых знаний и укрепления старых :).

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

В плане минусов могу сказать только то, что мой организм не очень хочет дружить с прохождением проекта, так как из-за недостатка сна мозг со временем перестает работать (к концу недели почти не работал :)), но это пожалуй моя личная особенность и к проекту имеет мало отношения :).

На самом деле альтернатив Хекслету не вижу, и каждый раз, когда из знакомых кто-то хочет стать программистом, всегда рекомендую Хекслет :)

Сергей, спасибо. Не хватило времени, но я получил хороший опыт и удовольствие)

Проект отличный, ваши поправки хоть и вызывали порой ощущение сильного стресса и хватания за голову, воспринимаются полностью оправданными, видимо без такой оборотной стороны никак не обойтись, когда берешься обучаться программированию уже будучи взрослым, не имея пластичности детского мозга, да ещё и если проект, знаменующий достижение каких-то новых высот и нового понимания, проходит в предельно сжатых рамках 1 недели. Все моё предыдущее обучение на хекслете было не только достаточно расслабленным по сравнению с этим опытом, но и в какой-то степени одномерным в том плане, что единственной планкой которой я стремился достичь было прохождение кодом тестов, все остальное меня интересовало в достаточно малой степени, если не сказать проходной. Когда же я начал проходить проект, то понял, что этих граней программирования гораздо больше, раньше, например, я вообще не задумывался о том каким должно быть взаимодействие между файлами проекта, если их сразу несколько, а не один (а это видимо постоянная ситуация в реальной работе), да ещё и если один из этих файлов выступает практически дирижером для остальных. Многие вещи, пусть даже я о них и слышал/читал ранее, кажется становятся впервые понятными, вот, например, о магических числах я читал ещё на code-basics, однако до проекта даже не задумывался что сам частенько их вставляю то тут то там. Или про принцип открытости/закрытости - пока сам не начал стремиться к его воплощению, очень смутно понимал о чем речь. И можно привести ещё не одну такую принцип/деталь, которую впервые начинаешь по-настоящему понимать только вместе с реальным опытом, полученным на проекте, даже если что-то слышал об этом ранее.

Хотелось бы, конечно, чтобы получалось создавать код быстрее/надежнее, с меньшими количеством ошибок, но все-таки ощущение роста есть, писать код вроде бы более менее получается, а значит буду продолжать, надеюсь, что смогу выйти на более менее хороший уровень.

Спасибо огромное.

Спасибо Сергей! Было сложно и интересно, надеюсь что куча граблей, которые словил в самых неожиданных для себя местах, даст повод мне задуматься.

После проекта понял что еще много чего не понимаю, много инструментов работают магическим образом. Код конечно вылизали до блеска, но игры так себе) Скорее бы уже начать делать что-то полезное, сайты например)

Вопросы и ответы

Я — новичок. Справлюсь ли я с проектами?

Все зависит от вас! Проекты начинаются с базового уровня, и для старта вам не требуется большого опыта или знаний. Главное — задавать вопросы менторам и решать проблемы сразу. К тому же, вы можете остановиться в любой момент и продолжить с того же уровня в любое время в будущем.

Какое расписание у проекта?

У проектов нет расписаний, все проекты доступны 24 часа в сутки, и вы можете заниматься в удобное для вас время.

Как оплачивается проект?

Один проект стоит $97, и оплата снимается только если вы отправите на проверку первое задание в проекте. Если вы начнете проект, но не выполните первое задание, то деньги списываться не будут. Для участия в проекте нужно иметь активную месячную или годовую подписку, и деньги за проект будут списываться с вашей привязанной карты.

Зачем нужны проекты?

Проект помогает реализовать на практике то, что вы узнали на курсах. Важный момент: написанный вами код навсегда остается в вашем репозитории на GitHub. Фактически это ваша первая работа в портфолио.

Что делает ментор в проектах?

Ментор полностью поддерживает вас и делает все, чтобы вы успешно сдали все проекты. Менторы будут отвечать на все ваши вопросы, помогать решать проблемы, проверять задания и направлять к правильным решениям. Все шаги в проектах проходятся самостоятельно. Последний шаг - проверка ментором, и совместная работа над ошибками.

У меня есть другой вопрос

Пишите нам на [email protected], вам ответит живой человек из команды Хекслета. Или нажмите на иконку со знаком вопроса в правом нижнем углу экрана. Там есть ответы и на другие вопросы и удобная форма для отправки сообщения нам.