Привет, это Блажей. В начале своего пути обучения программированию я пообещал себе, что не буду жульничать.
Решая любое упражнение, я обещал себе, что не буду искать решение, пока мой собственный код не заработает.
Я решил пойти на The Odin Project, потому что устал от курсов Udemy и видеороликов на YouTube, которые в любом случае были неплохими, но я чувствовал, что они меня ни к чему не приведут.
Мне было трудно сосредоточиться после трех минут просмотра каждого видео, и мои мысли начинали улетучиваться. Но это тема другого поста в блоге.
Учебная программа Odin Project основана на чтении документации и решении упражнений, создании проектов, чтении большего количества документации, решении еще большего количества упражнений и создании еще большего количества проектов, которые, как вы догадались, становятся все более сложными по мере вашего продвижения.
Все было хорошо, пока я не дошел до этого момента:
Помню, это были длинные выходные, и я провел все 4 дня, пытаясь все решить. Первые несколько упражнений прошли гладко, но я застрял на палиндромах (которые в конце концов решил) и Фибоначчи.
О да… Это был убийца. Но вы можете спросить, ведь на картинке выше таких упражнений нет, верно? Да, но зайдя в упомянутый репозиторий, вы обнаружите их на 8-й и 9-й позициях.
Решение предыдущих упражнений заняло у меня так много времени, что я потерял счет, где мне нужно было остановиться, и просто продолжал идти.
Я напряженно думал, попивая чай за чаем. Со временем мои мысли начали резко меняться от «все просто, я это сделаю» на «наверное, что-то не так, мой мыслительный процесс вроде бы правильный, должно быть, в самом упражнении какая-то ошибка». Может, мне стоит поискать решение?»
Когда я занимаюсь, я использую технику Помидора : 25 минут сосредоточения, а затем 5-минутный перерыв.
Мимо проходили Помидоры, и мне удалось дойти до точки, где я смог получить что-то вроде последовательности Фибоначчи… но это все равно казалось неправильным.
В этот момент я подумал: «Хорошо, я дошел до этого момента, возможно, я чему-то научусь позже, чтобы посмотреть на решение и просто двигаться дальше».
Я сделал, как думал… Конечно, я подумал: «О да, это так просто и логично продумано. Хорошо, тогда пойдем дальше!»
После Фибоначчи нужно было решить упражнение с объектами, и я был сбит с толку, потому что на тот момент мы еще не дошли до объектов в TOP.
И я был прав, по ошибке зашел на несколько уроков вперед…
Это только убедило меня, что жульничество — это правильно, и вскоре я узнаю что-то новое, что поможет мне решить эту проблему позже или с большей легкостью. Хаха!
Прошла пара уроков, на прохождение которых у меня ушло около недели, и я снова вернулся к Палиндромам и Фибоначчи. На этот раз, правда, немного напряженный…
Палиндромы прошли гладко, и я сел за работу по Фибоначчи. Тут надо отметить, что когда я открывал файл с упражнением, оно, конечно же, было решено, поэтому я старался особо не заглядывать в код.
Я просто все отметил и удалил. Однако я вспомнил, что первая строка была:
let fib = [];
Я начал ее решать. Ничего не работало. Я решил приготовить ужин и пойти прогуляться. Каждый раз, когда я отсутствовал от компьютера, мой мозг возвращался к Фибоначчи.
У меня было такое ощущение, будто у меня в голове работает VSCode. Клянусь, вместо того, чтобы видеть жареные чипсы в моей фритюрнице, я мог видеть только строки кода Фибоначчи (особенно этот чертов цикл и оператор «если»).
Забавно было, конечно, представить какое-то решение, а через 5 секунд понять, что либо я уже это пробовал, либо просто понял, что JavaScript вообще так не работает!!!
Я поел и пошел гулять. 1 час ходьбы = 1 час глубоких размышлений. В моих заметках было записано 3 новых решения, и я был на 100% уверен, что они сработают.
Угадайте, что из этого сработало. Да, вы правы, НЕТ! Я все еще получал те же результаты. В этот момент я подумал о том, чтобы добавить что-нибудь в массив.
Я знал, что мне там что-то нужно. Но глубоко в моем мозгу я получил ответ: «Когда вы ранее удалили решенное упражнение, этот массив был пуст». Я просто лгал себе.
Я вернулся к чтению документации и некоторых статей, но знал, что на этот раз не смогу схитрить. Я уже понял, что обман не помогает в долгосрочной перспективе, и если бы я обманул сейчас, я бы просто столкнулся с той же проблемой позже.
Прошло три часа. Я больше не расстраивался. Я хотел, чтобы эта проблема была решена, и я хотел понять, что я делаю неправильно. Мне также казалось, что я знаю, как работает этот цикл, и мне казалось, что я уже испробовал каждую конфигурацию с условными операторами.
Единственное решение, которое пришло мне в голову, — обратиться за помощью на канал Discord.
Я решил это!!!! Слушайте, мне пришлось поместить значения в этот массив и выполнить условие перед циклом. Это то, что мой мозг на самом деле говорил мне 10 или более часов назад.
Но поскольку я видел часть решения, я продолжал лгать себе, чтобы не делать этого, полагая, что оно другое. Эх.
Второй урок, который я усвоил в этот день, заключался, конечно, в том, чтобы просить о помощи. Но я настоятельно рекомендую всем пройти процесс чтения документации и попытаться решить все самостоятельно, особенно когда они еще учатся.
В ходе этого процесса я многому научился и верю, что больше не повторю этой ошибки.
Теперь я гораздо более готов ударить о другую стену с помощью другого упражнения. Теперь я знаком с процессом!