Все статьи | Блог студента

Первый проект на фронтенде. Заметки на полях

Статья написана студентом Хекслета. Мнение автора может не совпадать с позицией редакции
Первый проект на фронтенде. Заметки на полях главное изображение

"Success, so clearly in view. Or, is it merely a trick of the light?"

— Ancestor, Darkest Dungeon

Говорят, что последние 10% пути занимают 90% времени. В моем случае это был последний 1% проекта, который сожрал почти месяц времени. Ну и до финишной линии проблем хватило — спешу поделиться!

Сила инерции

Как я недооценила силу привычки. Надо было установить расширение WSL для Visual Studio Code, чтобы с комфортом редактировать файлы проекта. Вместо этого я 95% проекта работала через Nano, где даже буфера обмена между файлами нет.

Или я его не нашла за час гуглинга. Но я так себе гуглер.

Была бы у меня сотня ошибок линтера, если бы я пользовалась удобным редактором? Сомневаюсь... Ой, кстати про стиль.

Потом красиво сделаю

Я обещала без спойлеров, но вот вам первый и последний — потом я красиво не сделала. Потом я с кровавыми слезами переписывала крупные куски. И результат все равно красотой напоминает Франкенштейна, так что я думаю начать проект с нуля.

enter image description here

У меня было оправдание — я же не все правила линтера знаю, да и автоисправление есть. То, что можно перейти на VS Code и видеть подсказки линтера, я не подумала. О том, что автоисправление не все починит, я тоже не знала (хотя он так и пишет, что исправит некоторые ошибки).

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

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

Инструкции

"Это же основы", — Думала я, — "все инструкции в интернете одинаково правильные, можно брать любую".

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

enter image description here

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

Копипаста

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

В конце концов мне оказалось проще перепробовать 4 варианта проверки на простое число из интернета, чем писать такое решение самой. Думаю, я в другой раз наступлю на те же грабли — или у меня все же хватит мудрости написать все самой?

Это же проект про настройку среды

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

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

kids play

И мне приятно фантазировать о том, что авторы Хекслета знали, как я себе все сломаю переустановкой WSL, а потом буду мучаться, пытаясь все восстановить.

Тысяча и один косяк

Расскажу про проблемы, с которыми я столкнулась. Преодолеваю жгучий стыд :) Но если хоть кому-то будет полезно, то не зря себя ломала. Итак!

  • Я не знала, что с истекшей подпиской можно посмотреть пройденный материал. В итоге когда подписка заканчивалась, ответы искала не в пройденном материале, а гуглила. Как итог месяц не могла закрыть проект, потому что криво поставила node и WSL.
  • Постоянно сталкивалась с проблемами, которые не гуглились, вызывали ступор у других и вообще никак не решались. Я думала, проблемы такие крутые, а потом поняла, что я просто неправильно ставила вопрос. Это как в той притче, где слепой трогает слона за хвост и говорит, что перед ним худой и маленький зверек.

enter image description here

  • Гуглинг не бесплатный. Он жрет кучу времени и сильно нагружает мозг. Если можно отложить вопрос, лучше отложить и погуглить потом — скорее всего, вопрос получится уточнить с учетом накопленного опыта и ответ найдется куда быстрее.
  • Я очень много ленилась. Это был сигнал для меня пойти воздухом подышать, а потом со свежими мозгами перечитать инструкцию. Даже старые уроки повторить. Но вместо этого я стремилась как можно быстрее закончить этап и перейти на новый.
  • Я часто оправдывала свои косяки тем, что проект — скучный. Он не был бы скучный, если бы я не спешила, делала все красиво от начала до конца и вообще побольше включалась в то, что и зачем делаю.

Напоследок

Мои, с вашего позволения, "лайфхаки", найденные в ходе работы над первым проектом:

  • Найдите/организуйте группу поддержки. Показывайте свой репо и смотрите чужие. (Спасибо Денису Ширшову за все найденные у меня забытые скобочки!)
  • Конспектируйте во время работы над проектом. Я вновь советую Obsidian, потому что за месяц плотной работы он меня только радует.
  • Во время прохождения проекта делайте заметки. Потом составите из них статью, как сделала я, или добавите в свой конспект. Вас удивит то, насколько вымученный на своих шишках вывод полезнее цитатки из интернета.

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

Легких вам коммитов.

Аватар пользователя Лада Голунова
Лада Голунова 08 октября 2021
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
8 декабря 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
8 декабря 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
8 декабря 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
8 декабря 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
8 декабря 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
8 декабря 5 месяцев