Любой, кто плохо знаком с программированием, знает, как мучительно это разочаровывать, пытаясь понять, почему ваш код не работает. Вот здесь-то и появляется отладка. Согласно Oxford Languages, отладка определяется как процесс выявления и устранения ошибок в аппаратном или программном обеспечении компьютера.
Хотя приведенное выше определение определенно верно, этот твит Филипе Фортеса добавляет еще одно измерение, которое точно и забавно описывает, насколько сложной может быть отладка.
Отладка похожа на детектив в криминальном фильме, где вы также являетесь убийцей. - Филипе Фортес, инженер-основатель @ Coda
Процесс отладки иногда может напоминать поиск иголки в стоге сена - бесконечно бороздить море кода, не видя конца. Только представьте, насколько это утомительно и утомительно. Разочарование от попытки исправить сломанный код может привести к беспокойству и, в некоторых случаях, проявиться как настоящая боль. Вы можете почувствовать физическую боль, например мигрень. Вы можете чувствовать эмоциональную боль, например, снижение самооценки или постоянные приступы синдрома самозванца.
Отладка никогда не прекращается, поскольку это неотъемлемая часть того, что значит стать программистом. Тем не менее, хорошая новость заключается в том, что, применяя некоторые техники и рефрейминг, вы можете сделать этот опыт менее болезненным и даже превратить его в полезное занятие.
Я собрал несколько лучших техник, советов и фреймворков, которые лично использую, чтобы сделать отладку более приятной.
1. Радуйтесь, что вы не одиноки - с этим сталкиваются все программисты
Как начинающий программист full-stack, я все еще испытываю чувство страха каждый раз, когда мой код ломается. Однако этот страх сопровождается чувством облегчения и волнения. Облегчение, потому что я знаю, что я не один. Буквально никто не застрахован. Все разработчики, как новички, так и эксперты, проходят этот процесс и сталкиваются со стрессом, связанным с исправлением неработающего кода.
И именно поэтому существуют ресурсы по кодированию и сообщества, такие как Stack Overflow, Stack Exchange, Dev и множество других каналов. В числах есть сила. Маловероятно, что вы когда-нибудь столкнетесь с ошибкой, с которой раньше не сталкивались. Имея это в виду, воспользуйтесь этим в полной мере и примените свои навыки работы с Google!
И самое главное, никогда не стесняйтесь просить о помощи или даже о наставничестве. Всегда есть более опытные разработчики, которые готовы отдать и помочь, так как они знают, каково это было, когда они только начинали.
В моем случае я в полной мере пользуюсь тем фактом, что участвую в такой замечательной школе программирования, как Microverse, где я встретился и получил огромную помощь от сочувствующего и отзывчивого сообщества других начинающих программистов.
2. Будьте рады узнать - отладка помогает вам расти
Будьте воодушевлены, потому что каждая неудача, ошибка или ошибка дает возможность учиться, практиковаться и расти по нескольким направлениям - терпению, решению проблем и даже профессионализму. Как сказал один из моих наставников Дэмиен:
Умеешь ли ты разобраться в этом - вот что делает тебя программистом, и именно поэтому тебя берут на работу. - Дэмиен Кан, инжиниринг / соучредитель Кин
Это было громкое «Ага!» момент, который заставил меня осознать, насколько ценно тратить время и усилия, чтобы научиться хорошо разбираться в том, как отлаживать.
Каждая ошибка - это возможность, которую стоит решить. Учиться и совершенствоваться в качестве кодера должно быть интересно. Отладка помогает держать вас в тонусе и, безусловно, является важным навыком в вашем арсенале. Если вы приложите все усилия, чтобы по-настоящему понять, почему ваш код работает или не работает, вы станете надежным программистом, а это даст вам преимущество на протяжении всей карьеры.
3. Будьте упорны - вы не можете отлаживать, когда вас отвлекают.
Если вы отвлечетесь, вы не поймете свой код. Период. Нет смысла беспомощно копаться в коде часами, если вы не можете сосредоточиться на одном. Также бесполезно доводить себя до изнеможения. Отладка - это не спринт, а марафон.
Вместо этого делайте целенаправленные спринты в течение 50 минут, а затем сделайте короткий 10-минутный перерыв. Перерыв необходим, чтобы дать вам время и время подумать и отдохнуть, а также очистить разум и дать отдых глазам. Решения нередко появляются, когда вы выполняете какую-то другую повседневную или случайную задачу.
Применяя эту технику, вы будете постоянно сосредотачиваться на исправлении этой ошибки. И со временем вы его искорените.
Кроме того, не забывайте выспаться. В то время как популярный миф предполагает, что вечная ночевка - это способ найти это волшебное решение, на самом деле это может быть не лучшим решением. Эта проверенная фактами и медицинская статья от Sleep Foundation исследует, как недостаток сна может повлиять на когнитивные способности.
Без сна мозг изо всех сил пытается нормально функционировать. Из-за того, что у них нет времени на восстановление, нейроны становятся перегруженными и менее способны к оптимальной работе во многих типах мышления. - Эрик Суни
4. Будьте методичны - применяйте принцип «затраты-выпуск».
Идея здесь проста. Думайте о коде с точки зрения входов и выходов. Когда дело доходит до тестирования функциональности данной функции, операции или блока кода, у всего есть вход и выход. Итак, для того, что вы тестируете, вам нужны входные данные, а также ожидаемый результат.
Например, если вы работаете над приложением для управления задачами и собираетесь создать задачу, ожидается, что задача должна быть распечатана. Если этого не произошло, значит, при обработке кода что-то не так. Может оказаться, что на объект никогда не ссылались, не использовали или не создавали его, поэтому не было вывода. Что это значит? Вам придется изменить ввод.
Другой мой наставник, Паоло, привел мне этот короткий пример, чтобы облегчить усвоение сути этого принципа и запомнить, как его применять.
У вас есть проблема x, вы пробуете решение для y, а затем y не работает. Ваш вывод - y не является решением для x. Решайте проблемы для x вместо того, чтобы искать решение для другой проблемы - Паоло Самонтанез, соучредитель / технический директор OneWatt
Эта стратегия позволяет легко и ясно понять, что вы можете сделать, чтобы изолировать и определить источник ошибки и как начать применять тесты для ее исправления. И если вы будете повторять этот процесс, ваши отладочные мышцы будут расти.
5. Будьте хладнокровны - не позволяйте эмоциям задевать вас.
Я не собираюсь врать. Когда я начал сталкиваться с моими первыми, казалось бы, неубиваемыми жуками, я почувствовал это внезапное желание крикнуть от раздражения и положить конец этому. Вы не можете позволить себе одолеть это чувство беспомощности. Если вы позволите этому чувству поглотить вас, это приведет к растущему отвращению к решению проблем - то, за что вам, как программисту, будут буквально платить.
Спокойный и собранный подход - лучший и единственный выход. Во-первых, помните, что все в ваших руках. Вы управляете компьютером, а не наоборот. Ничто не помешает вам разобраться в этом, если вы настроитесь на это и вложите все необходимые ингредиенты - время, усилия и сосредоточенность - и примените эти методы.
Не расстраивайтесь, если вы не можете исправить все за один присест. Важно то, что вы предпринимаете небольшие активные шаги, чтобы методично найти решение. Говоря языком видеоигр, если смотреть на ошибку не как на одного большого босса, а как на меньших, отдельных миньонов, становится легче выиграть битву. Один за другим вы будете отлаживать всю свою программу.
Надеюсь, после прочтения этой статьи вы сможете по-новому взглянуть на отладку и осознать, что отладка не должна быть болезненной.