Первый проект JS-frontend

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Читать в полной версии →

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

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

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

Буддисты в процессе долгой духовной практики проходят некую точку, в которой пробуждение истинного "видения" реальности удаляет весь остаточный скептицизм в отношении Учения. Так и со мной на курсах по программированию. Внутри меня что-то сдвинулось и я понял, что я могу. Это понимание как фазовый переход от количества к качеству. С этого момента возрастает уверенность в собственных силах, и любые проблемы в обучении становятся просто задачами. Некоторые решаются быстро, некоторые не очень. Но решаются так или иначе все. Вот тогда я и взялся за проект. Обратной дороги больше нет, значит надо углубляться в лес)).

Сам проект в общем-то не сложный, долго кодить и ломать голову не пришлось. Основной задачей была правильная настройка окружения, работа с git, npmjs, сторонними модулями (babel, eslint) и, конечно, работой с ОС Linux в терминале. Для проекта создал виртуалку с убунту на гугл-клауд (удобно, ssh-клиент встроен в браузер и можно заходить из любых мест без установки клиента) и все действия по проекту делал на ней. Подспудно изучил редактор nano. После сдачи проекта ментор пять раз возвращал мне его на доработку. Недочеты были связаны с плохой читабельностью кода, стилем, компоновкой функций, избыточностью, дублированием, наличием магических чисел и т.п.

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

Заметил, что после проекта стал более качественно писать код в упражнениях на курсе, это занимает чуть больше времени, зато вырабатывает хороший навык и просто приятно. Ментору большое спасибо. Раз за разом вычитывать код всяких даунов, а потом разжевывать по кусочкам то еще удовольствие. Когда понимаешь это, 97$ за проект кажутся очень скромной суммой. Через пару недель планирую приступить ко второму проекту, думаю будет интересно. Всем удачи, не сходите с выбранного пути. Свет в конце тоннеля обязательно загорится. Абсолютно все в computer science создано людьми, и раз смогли они, сможем и мы!