"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, где даже буфера обмена между файлами нет.
Или я его не нашла за час гуглинга. Но я так себе гуглер.
Была бы у меня сотня ошибок линтера, если бы я пользовалась удобным редактором? Сомневаюсь... Ой, кстати про стиль.
Потом красиво сделаю
Я обещала без спойлеров, но вот вам первый и последний — потом я красиво не сделала. Потом я с кровавыми слезами переписывала крупные куски. И результат все равно красотой напоминает Франкенштейна, так что я думаю начать проект с нуля.
У меня было оправдание — я же не все правила линтера знаю, да и автоисправление есть. То, что можно перейти на VS Code и видеть подсказки линтера, я не подумала. О том, что автоисправление не все починит, я тоже не знала (хотя он так и пишет, что исправит некоторые ошибки).
Ну а кроме линтера... Я же знала с самого начала, что коммиты надо писать в повелительном наклонении или хотя бы приводить к одному времени. Но нет, я использовала два времени и кучу шуточек за триста, когда было особенно лень.
И я уже молчу про то, что я не разделила по-человечески логику и пользовательский код, что не добавляла промежуточные переменные, что интерполяцию написала так что она работает только чудом... Да-да, молчу про это все, ага.
Инструкции
"Это же основы", — Думала я, — "все инструкции в интернете одинаково правильные, можно брать любую".
Это было так же наивно, как поехать в незнакомый район провинциального города, пользуясь инструкциями навигатора. Полчаса — и оказался на кудыкиной горе, окруженной панельками с выбитыми окнами.
Я потеряла много времени на случайных руководствах и после этого больше не ленюсь искать какую-нибудь проверенную инструкцию с Хекслета. Потому что моя лень в последний раз привела меня к топику в Обсуждениях на 18 постов, в конце которого ментор просто сдался.
Копипаста
В какой-то момент я так устала от математических функций, что стала воровать их из интернета. В итоге в код закрадывались баги, поскольку такие функции из интернета часто были избыточными.
В конце концов мне оказалось проще перепробовать 4 варианта проверки на простое число из интернета, чем писать такое решение самой. Думаю, я в другой раз наступлю на те же грабли — или у меня все же хватит мудрости написать все самой?
Это же проект про настройку среды
Сначала я не понимала, зачем нам так много однообразных задач, если проект вообще-то про настройку среды. А потом поняла.
Может, это эффект плацебо (я и не против), но я думаю что вся эта нудятина была нужна как раз для того, чтобы я разленилась, заговнякала код, а потом ощутила боль и стыд и поняла, что никакая лень не стоит того, чтобы потом все переделывать.
И мне приятно фантазировать о том, что авторы Хекслета знали, как я себе все сломаю переустановкой WSL, а потом буду мучаться, пытаясь все восстановить.
Тысяча и один косяк
Расскажу про проблемы, с которыми я столкнулась. Преодолеваю жгучий стыд :) Но если хоть кому-то будет полезно, то не зря себя ломала. Итак!
- Я не знала, что с истекшей подпиской можно посмотреть пройденный материал. В итоге когда подписка заканчивалась, ответы искала не в пройденном материале, а гуглила. Как итог месяц не могла закрыть проект, потому что криво поставила node и WSL.
- Постоянно сталкивалась с проблемами, которые не гуглились, вызывали ступор у других и вообще никак не решались. Я думала, проблемы такие крутые, а потом поняла, что я просто неправильно ставила вопрос. Это как в той притче, где слепой трогает слона за хвост и говорит, что перед ним худой и маленький зверек.
- Гуглинг не бесплатный. Он жрет кучу времени и сильно нагружает мозг. Если можно отложить вопрос, лучше отложить и погуглить потом — скорее всего, вопрос получится уточнить с учетом накопленного опыта и ответ найдется куда быстрее.
- Я очень много ленилась. Это был сигнал для меня пойти воздухом подышать, а потом со свежими мозгами перечитать инструкцию. Даже старые уроки повторить. Но вместо этого я стремилась как можно быстрее закончить этап и перейти на новый.
- Я часто оправдывала свои косяки тем, что проект — скучный. Он не был бы скучный, если бы я не спешила, делала все красиво от начала до конца и вообще побольше включалась в то, что и зачем делаю.
Напоследок
Мои, с вашего позволения, "лайфхаки", найденные в ходе работы над первым проектом:
- Найдите/организуйте группу поддержки. Показывайте свой репо и смотрите чужие. (Спасибо Денису Ширшову за все найденные у меня забытые скобочки!)
- Конспектируйте во время работы над проектом. Я вновь советую Obsidian, потому что за месяц плотной работы он меня только радует.
- Во время прохождения проекта делайте заметки. Потом составите из них статью, как сделала я, или добавите в свой конспект. Вас удивит то, насколько вымученный на своих шишках вывод полезнее цитатки из интернета.
Вот и все, чем могу сегодня поделиться. Пишите свое мнение в комментариях — и мне, и другим студентам будет интересно почитать!
Легких вам коммитов.