Вам они не нравятся. Нет, ты их ненавидишь. Ты кричишь на них. Вы бы хотели, чтобы их никогда не было. Но глубоко внутри вы слышите их шепот: «Мы здесь, чтобы помочь».

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

Причин может быть множество: отсутствие надлежащего тестирования, обновление фреймворка, которое все сломало, несоответствие переменных, использование глобальной области видимости вместо локальной и т. д. И вот они, эти слова, подчеркнутые красным, кричат ​​на вас, заставляя вас рвать на себе волосы. , нервно просматривая потоки переполнения стека и умоляя ChatGPT о помощи.

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

Недавно я пытался добавить немного функциональности в небольшое приложение, которое я сделал во время прохождения одного из курсов. Мне нравится возвращаться к таким вещам, просматривать код, который я написал, и пытаться изменить его, улучшить, внедрить немного нового. После нескольких попыток ничего не изменилось. Это было просто так, ничего. Никаких ошибок, никаких сообщений, никаких изменений. И это довольно неприятно, когда пытаешься что-то сделать и не видишь результатов, в буквальном смысле. Затем, после небольшой настройки, код, наконец, сломался, и появилось сообщение об ошибке. Я автоматически сказал себе: «Теперь это не работает. Хороший!" Потом я засмеялся, поняв, что сказал это без задней мысли и не в шутку, а потому, что действительно имел это в виду.

И, если подумать, это правда. Ошибки, по сути, говорят вам: «У нас все хорошо!» (50% шанс, что цитата принадлежит некоему серому магу).

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

Кроме того, ошибки подталкивают вас вперед. Когда все работает, вы можете расслабиться, несколько отвлечься и не захотеть перемен. Хотя это не всегда плохо (разумеется, вы не можете постоянно находиться в стрессовом режиме), вы не можете позволить себе оставаться в таком состоянии слишком долго. Рано или поздно вам придется действовать, обновить свой сайт/приложение или сделать новый. И в тот момент, когда вы получаете свои ошибки, у вас практически нет другого выбора, кроме как исправить их. Теперь нельзя просто сидеть и расслабляться, лениво меняя строчку-другую и внося небольшие коррективы. Теперь вы либо исправляете это, либо ваше приложение/сайт не работает.

Недавно я играл с React Router, а также проходил соответствующий курс по Scrimba. Он использует Mirage JS для создания поддельного сервера, и, поскольку я кодировал его на своей собственной машине, мне пришлось настроить кучу вещей (потому что это не среда разработки Scrimba). В какой-то момент у меня возникла ошибка, и я не мог найти ее причину. Еще раз, как бы странно это ни звучало, я был рад, что это произошло, потому что мне пришлось немного поискать, просмотреть несколько обсуждений в Discord и предложения Stack Overflow. Несмотря на то, что я не нашел лучшего решения, кроме перехода на предыдущую версию React Router, я все же получил полезную информацию о том, как некоторые из его функций работают и взаимодействуют с Mirage JS.

Другая, менее очевидная вещь, заключается в том, что ошибки могут быть индикатором того, что вам нужна дополнительная помощь или просто перерыв. Эта помощь не обязательно может быть прямой. Вместо того, чтобы просить решения, часто (если не в большинстве случаев) лучше сначала немного покопаться, чтобы найти чей-то пост, тему и т. д. с тем же вопросом. Конечно, иногда могут быть совершенно уникальные проблемы, когда вам нужно обратиться за помощью напрямую, но это, на мой взгляд, исключение. А что касается перерыва, думайте об этом что хотите, но он работает. Любой перерыв: другое задание, прогулка, что угодно, даже по работе, но не связанное с той ошибкой, которую вы пытаетесь исправить. Как только вы это сделаете, а затем вернетесь к исправлению, у вас, по крайней мере, появится ясная голова для нового возможного решения.

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

В конце концов, мы пришли сюда, чтобы исправлять ошибки и делать идеальные развертывания. И все мы далеки от совершенства.

Спасибо за чтение.