Отзывы студентов

о проектах

Когда только приступил к проекту, голова пухла от обилия информации, которую нужно прочитать. git, npm, настройка окружения. Выбрал стратегию (не сознательно, скорее мозг включился в режим) "поиск минимально необходимой информации, чтобы пройти на следующий шаг". Получил палку о двух концах, пример с гитом, если бы сел и просто прочитал внимательно документацию, то не столкнулся бы с проблемой откатов, если задание учитель не принял, а так по началу зацепился за команду git reset —hard... один раз ее исользовав, очень стимулирует больше не повторять. Вывод для себя: не филонить с подготовкой к проекту, и читать документацию более вдумчиво.



Что получил в процессе. Понял что, пройденные курсы на Хекслете очень повлияли на стиль программирования, руки сами пишут код в функциональном стиле. В целом программирование я изучал, можно сказать со школы, потом колледж, но фактически не работал по профессии, но везде учили "императивщине": циклы, переменные и т.д.
 В проекте же даже мысли не возникло использовать циклы, только рекурсия, только константы.



Так же уяснил для себя нюанс, если прочитал документацию и что-то не понял, лучше уточнить у ментора, чтобы не осталось белого пятна, и оно не вылезло в проект. У меня это был пример с семантическим версионированием, я не до конца понял, когда изменения сделанные в программе, изменяют минорную версию и мажорную, в итоге при добавлении просто новой игры, программа стала из 1.3.4 — 2.0.0. Хорошо, что есть ментор который сразу кидает в тебя тапком за это =))


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

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


Пройдя первый проект, я узнал почему важно правильное окружение, как больно не знать git, зачем нужны линтеры и как их подключить в проект, как настроить package.json, и что оказывается с помощью него можно делать bin файлы. Что есть крутые штуки, который выкачивают твой код и сами его тестируют на работоспособность и анализируют его на качество. А так же, что можно круто автоматизировать задачи с помощью make. Ну и на выходе написал свой первый проект, который работает! и который может установить себе любой желающий)
Надеюсь дальше будет не менее интересно! =)

о проектах

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

В итоге лопатишь кучу информации, разбираешься как "это" работает и радуешься, потому что оно просто работает. И это, я считаю, самый лучший способ саморазвития.

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

о проектах

Проходить проект оказалось достаточно забавно, потому что как только начинаешь его делать сразу появляется ощущение небольшого соперничества с другими участниками. Естественно цель проекта не победить, а научиться чему-то. Чему научился я:

  1. Пользоваться гитом и гитхабом уже на практике.
  2. Настраивать окружение для проекта и различные модули.
  3. Публиковать пакеты npm. Опубликовал и установил свой пакет, и когда он заработал улыбка была до ушей.
  4. Подключать сторонние библиотеки. Разобрался с импортами и экспортами.
  5. Работать с архитектурой проекта. Для меня это главный урок, после которого произошел качественный скачок в понимании того, как все устроено.
  6. Работать с абстракциями. Открываешь файлы с кодом и сразу понятно за что отвечает любая функция или константа.
  7. Самостоятельно изучать документации и пользоваться гуглом прежде! чем спрашивать у кого-то.

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

В целом все понравилось, получил то на что и рассчитывал, а именно понимание и осознание некоторых вещей, и опыт который можно приобрести только на практике.

о проектах

Хоть и сделан только первый шаг в мир настоящего программирования, но уже на себе почувствовал, какого это писать код не для сферических задач в вакууме. Раньше пугало количество и разнообразие инструментов, нужных для правильной разработки ПО. Грамотное построение шагов позволило постепенно и без страха начать использовать необходимые инструменты для разработчика, к концу проекта осознал, что без них уже никуда.

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

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

В итоге, могу сказать, это на сегодняшний день лучший опыт, что я испытал в обучении.

о проектах

Благодаря команде «Hexlet» мною сделан очередной важный шаг на пути в освоении профессии Бэкенд JS-программист, им стало участие в проекте «Вычислитель отличий».

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

Начало проекта у меня прошло под девизом «Долой мутации!!!». Как оказалось, где они только не были скрыты. Далее я понял сущность и реализовал на практике такие паттерны программирования как «Фасад» и «Адаптер». На этапе построения AST дерева я больше понимал эту структуру данных, возможности работы с ней.

На протяжении всего проекта меня сопровождали тесты. Знакомство с тестами и осознание их важности в процессе разработки в значительной мере помогали мне понимать происходящее в коде, находить ошибки, отлаживать код.

Хочу отдельно поблагодарить Кирилла Мокевнина – ментора, ведущего проект, за его желание делиться знаниями и учить.

Ребята, так держать!

Хотите добавить сюда свой отзыв или историю успеха?
Напишите нам на support@hexlet.io