Ранее в этом году меня попросили прочитать короткую лекцию перед моими коллегами, 400+ студентов, лекцию по отладке, и с тех пор мой подход к веб-разработке и жизни изменился.

(Отказ от ответственности: будет много разговоров о пасте.)

Отладка - это процесс проверки предыдущих фрагментов кода, которые вы написали, на наличие ошибок. По таким причинам, как предотвращение неожиданного поведения, обеспечение работы кода и улучшение его работы.

Заставьте его работать, а затем сделайте его лучше и быстрее - Габриэль Александр Стивен

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

Говорить с людьми о программировании непросто, трудно удержать их внимание, и, честно говоря, если вы зашли так далеко, я впечатлен. Так что именно я сказал?

Программирование - это повседневная жизнь

Это не потребовало особой убедительности, поскольку это действительно так, в другой моей статье Что я узнал, пытаясь создать два приложения с помощью JavaScript. »Я смог рассказать о некоторых подходах, которые я использую для написания кода, которые применимы к жизни. Но более того, такие концепции, как объектно-ориентированное программирование (создание повторно используемых объектов) до функционального программирования (функции, использующие объекты для достижения результата), являются производными от жизненного поведения. Например, кулинария реализует использование рецептов и методов приготовления для достижения результатов. И так же, как и в программировании, существует определенная гибкость, есть много способов приготовить макароны, так как есть много способов создать функцию, которая будет принимать входные данные и выполнять с ними арифметические операции.

Иногда на отладку программы уходит больше времени, чем на ее кодирование.

Итак, как именно мы отлаживаем жизнь и код.

Некоторое время назад я работал над проектом, который выборочно изолирует соискателей на основе их квалификации, но в моем случае я мог взять только один параметр. Это подводит меня к первому, что я сделал:

  1. Определите проблему

Вам нужно определить, в чем именно проблема: вы не можете сохранить хорошую привычку или макароны, которые вы готовите, слишком соленые?

2. Разберитесь в природе проблемы

Есть четыре типа проблем, вы должны классифицировать свою проблему, причина в том, что это упрощает и упрощает решение.

  • ПРОСТАЯ ПРОБЛЕМА

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

ЖИЗНЬ: Вы хотите, чтобы макароны имели определенный вкус.

КОД: Если бы я хотел нажать кнопку, чтобы отобразить красный цвет.

  • СЛОЖНАЯ ПРОБЛЕМА

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

ЖИЗНЬ: вы хотите приправить макароны, но у вас нет соли.

КОД: Я хочу написать Javascript, но у меня не открыт тег скрипта или у меня нет файла JavaScript.

  • СЛОЖНАЯ ПРОБЛЕМА

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

ЖИЗНЬ: Итак, вы пробовали пасту и заметили, что она недостаточно соленая или слишком соленая.

КОД: Я нажимаю кнопку, но получаю сообщение об ошибке.

Этот процесс нажатия и дегустации - это действие, которое помогает вам понять сложную проблему.

Спросите себя, какова природа вашей проблемы? Это фактически первый шаг к отладке.

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

3. Действия

После определения характера проблемы вы можете перейти к ее решениям.

Примеры из № 2

В ПРОСТОЙ ПРОБЛЕМЕ

Вы хотите, чтобы паста имела определенный вкус - посолить ее.

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

В СЛОЖНОЙ ПРОБЛЕМЕ

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

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

В СЛОЖНОЙ ПРОБЛЕМЕ

Итак, вы пробовали пасту и заметили, что она недостаточно соленая или слишком соленая - , а затем вы решаете, что достаточно добавить воды, чтобы разбавить ее соленый характер, или добавить больше соли, чтобы увеличить ее соленость

Я нажимаю кнопку, но получаю сообщение об ошибке - , поэтому мне нужно вернуться и определить ошибку в коде. Возможно, в строке 32, как обычно, пропущен символ "}". Итак, вы исправили это и снова нажали кнопку, чтобы проверить свое решение.

4. Это еще не все

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

Исправьте существующую ошибку, но также убедитесь, что не возникает новых ошибок.

Для реализации некоторых проблем потребуется больше времени, чем для других, но это один из лучших способов решения проблем либо в жизненных ситуациях, либо в строке 32 вашего файла Javascript.

Примечание. Отладка не всегда устраняет проблему, вы можете создать контрмеры для предотвращения проблем в будущем, своего рода профилактическое обслуживание или меры по устранению проблем (фактор безопасности), своего рода адаптивное обслуживание.

Так что в любой момент найдите время, чтобы отладить себя и / или свой код.