Советы по прохождению проектов

Готовьтесь к проектам

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

Технические детали подготовки описаны в статье «Подготовка к проектам». Обязательно её прочитайте, особенно, если вы используете ОС Windows.

Решение не должно быть идеальным

Некоторые студенты стремятся написать с первого раза идеальный в их представлении код. На что тратят много усилий и времени: например, несколько дней бьются над одним шагом, пока не доведут его до «идеального» состояния. Как правило, сделать это не получается, и за это же время можно было пройти несколько шагов.

Отсюда два вывода:

  • С одной стороны, прилагайте максимум усилий, чтобы написать хороший код. Стремитесь к тому, чтобы не пришлось исправлять ошибки при проверке.
  • С другой стороны, пишите код так, как можете. Для начала попробуйте написать решение «в лоб» — выберите наиболее простой и понятный вам способ реализации.

Не молчите и не замыкайтесь

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

Но проект не так сложен, как может показаться на первый взгляд. Он создан таким образом, что при равномерном распределении усилий — лучше «каждый день понемногу», чем «всё за один раз», — вы успешно дойдёте до самого конца.

Поэтому не паникуйте, задавайте вопросы и двигайтесь вперёд!

Кому задавать вопросы

Если учитесь самостоятельно, задавайте вопросы в разделе «Обсуждение», он есть на странице каждого шага проекта. Иногда ответ можно найти в уже созданных топиках — это база знаний, которой стоит пользоваться. 

В чате Хекслета в Слаке есть канал #hexlet-projects, вступите в него. Там вы сможете обсуждать проекты с другими студентами. Чтобы случайно не подсказать решение, не показывайте ваш код, лучше дайте ссылку на Гитхаб.

Если учитесь с наставником в группе или индивидуально, задавайте вопросы ему.

Работа с наставником

  • Наставник играет на вашей стороне. В его интересах, чтобы вы качественно выполнили проект
  • Наставник направляет в правильную сторону, но не пишет код за вас. Не стоит ждать от него прямых подсказок или готовых инструкций
  • На проекте отрабатываются ваши навыки работы в команде. При этом наставник выполняет роль стейкхолдера проекта. Ваши взгляды могут не совпадать с требованиями, которые предъявляет наставник, — и это нормально. Но при возникновении разногласий и спорных ситуаций, по которым не удаётся прийти к общему решению, последнее слово остаётся за ним
  • Относитесь внимательно к фидбеку от наставника: не стоит пропускать или игнорировать его замечания
  • Приоритетное значение имеет качество кода — он должен быть не только рабочим, но и чистым. Поэтому к замечаниям наставника, касающимся качества и читабельности вашего кода, начиная с именования и заканчивая количеством пробелов, следует подходить со всей серьёзностью.

О списывании

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

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

Списывающий добровольно лишает себя всех этих возможностей.