Что делает программист? Возможность запоминать множество синтаксиса? Разрабатываете творческие решения сложных проблем? Мемы?

Если 3 месяца, которые я изучал программированием, научили меня чему-то, так это тому, что программисты, прежде всего, решают проблемы. Если бы Шерлок Холмс был сегодня жив (и реален), он не раскрывал бы преступления, а создавал бы алгоритмы. Этого, конечно, не случится, читать было бы ужасно.

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

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

Прочтите приметы ошибок Боги

Большинство языков лучше всего сообщают нам, в чем именно заключаются проблемы в нашем коде:

Здесь нам сообщается тип ошибки и какие именно строки мы можем проверить, чтобы ее исправить:

Простая опечатка, но JavaScript объяснил мой идиотизм и помог мне очень быстро найти проблему. Опечатки часто помечаются ссылочными или синтаксическими ошибками.

Проверьте скобки

Квадратные, круглые, фигурные - отвергнутые карликовые названия и виды браков. МЫ ЛЮБИМ КРОНШТЕЙНЫ. Они нужны нам для функций, для операторов if или блоков внутри функций, и я почти всегда забываю их где-то добавить.

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

Ruby: сообщает вам, где именно может быть скобка.

Может быть, JavaScript тоже? 😮

Да нет.

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

ДЛИННАЯ.

К счастью, в большинстве текстовых редакторов есть удобные расширения, упрощающие управление скобками TM:

Присмотритесь, и вы увидите, что у желтой фигурной скобки отсутствует закрывающая копия. «Раскраска пара скобок» для VS Code - благословение для программирования и проклятие для британского английского языка.

Взломайте там отладчик

Binding.pry (или Trying.cry), byebug, отладчик - в большинстве языков есть инструмент для отладки. Примите это, полюбите его, выйдите за него замуж, создайте семью, родите детей с чистым кодом.

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

Вставив туда отладчик, я смогу определить, какая часть функции не работает:

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

Проверьте наличие допустимых опечаток

Сообщения об ошибках должны помочь вам найти глупые опечатки, но допустимые опечатки найти гораздо сложнее. Использование querySelectorAll, когда вы хотели использовать querySelector, является допустимой опечаткой. Это не приведет к ошибке, и ее будет сложно обнаружить. Нет никаких специальных инструментов, которые вы могли бы использовать, кроме как быть более внимательными при написании кода.

Google это

Google-phu, как его часто называют, сам по себе является навыком. Изучение языковой документации или создание собственных веб-сайтов - Stack Overflow, W3 Schools, MDN; это то, что вы должны попытаться понять как можно быстрее. Скорее всего, вы будете делать это на протяжении всей жизни программиста.

Попробуйте что-нибудь, что угодно

На ум приходит выражение: «Залейте стену достаточным количеством грязи, и что-то обязательно прилипнет». Я часто использовал этот подход с HTML и CSS. Лучший способ понять, как работают поля и отступы или насколько это раздражает, когда div занимает больше ширины, чем нужно, - это просто начать пробовать разные вещи. На это потребуется время и, возможно, вы даже столкнетесь с трудностями, но вместе с поиском в Google вы узнаете что-то новое.

Уходи и возвращайся к нему

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

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

Просто попросите о помощи

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

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

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

Заключение

В итоге:

  1. Внимательно прочтите сообщения об ошибках
  2. Проверьте свои скобки - расширения текстового редактора - ваш друг
  3. Взломайте там отладчик
  4. Проверьте наличие «допустимых» опечаток
  5. погугли это
  6. Попробуйте что-нибудь, что угодно
  7. Уходи и возвращайся к нему
  8. Просто попроси помощи

Мой опыт программирования крайне ограничен, но я полагаю, что многие люди отказываются от него из-за устранения неполадок.

Будьте решительны. Вы ищете ответы, ищете способ заставить ваш код работать, единственное, что вам мешает. Станьте цифровым Шерлоком Холмсом и победите эти ошибки.