После моей 34-й фиксации 10 строк простого кода JavaScript мне пришлось кое в чем признаться себе: «Понятия не имею, как все это работает».

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

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

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

И я был виноват в этом на 100%. Я понятия не имел, что значит «использовать functions.php для подключения к действию и публикации значений формы». И хотя я мог бы найти в Google все иностранные термины в предложении, это все равно оставило бы у меня фрагментарное понимание предмета. Без фундаментального понимания того, как все работает, у меня были только эти маленькие карманы знаний, между которыми ничего не было.

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

Хуже всего то, что я думал, что учусь самым быстрым способом. Но на самом деле я настраивала себя на то, чтобы тратить гораздо больше времени в целом, изучая эти вещи заново.

После того, как я наткнулся на достаточное количество стен, я сделал шаг назад и попробовал несколько онлайн-курсов обучения. Я позаботился о том, чтобы найти тех, в которых были настоящие инструкторы, которые объясняли, как все работает.

Я потратил около 10 часов на курсы JavaScript. Затем я вернулся и попытался разобраться с простым скриптом, который отказывался работать, когда я пробовал раньше.

Очевидно, разница была ночь и день. Мне было неловко просматривать мой предыдущий код, видя, насколько он повторяющийся и неаккуратный. Я значительно почистил его, добавил несколько комментариев, чтобы убедиться, что я знаю, как это работает (аналогично отладке резиновой уточки), и смог заставить его работать за 10% времени, которое я потратил на попытки исправить это раньше.

Чтобы уточнить, я не думаю, что есть что-то плохое в том, чтобы следовать и применять идеи по мере их изучения. Я бы сказал, что это идеальная модель, и она часто используется онлайн-курсами в форме «тестов кода» и тому подобного.

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