Сегодняшний урок программирования посвящен тому, чтобы доверять себе.
Я заметил у себя сварливый паттерн, пока я кодирую:
У меня проблема X. Я понимаю проблему и предлагаю логику решения X. Я реализую свой код, но это неизбежно не работает.
Хорошо, круто, я мастер дзен, поскольку я начинаю исправлять, подходя как к своему мышлению, так и к проекту с разных сторон. Я трачу 5 часов, методично работая над этим кодом, и в конечном итоге ни к чему не прихожу. К этому времени я достаточно расстроен, чтобы обратиться за помощью к техническому наставнику.
В течение часа проблема решается с использованием исходной логики, которую я изначально придумал.
На этой неделе я потратил много времени на размышления об этом антипаттерне. Вот уроки, которые я извлек из этого повторяющегося сценария:
- Доверяй себе. У тебя хорошее мышление, ты знаешь больше, чем думаешь.
- Не думайте, что алгоритм неправильный только потому, что код не запускается сразу.
Чтобы исправить эту область недавно выявленного невежества, я собираюсь изучить превращение мысли в рабочий код. Мой процесс:
- Возьмите задачу алгоритма (фаворит - HackerRank) и решите ее на бумаге.
- Опишите проблему с помощью крайних случаев.
- Псевдокодируйте алгоритм на простом старом английском языке.
- Напишите актуальный код. Все еще на бумаге.
- Проходите строку за строкой и ищите ошибок. Четко запомните проблему и убедитесь, что ваше мышление работает.
- Наконец, введите его в выбранный вами редактор кода как есть и отметьте все ошибки, посмотрите, есть ли / где он сломан, исправьте свои ошибки.
- В некоторых комментариях разложите проблему. Напишите о своем мышлении и о том, что вы думаете о коде.
Я отношусь к этому как к домашнему заданию по математике, и это немного болезненно, что я делаю каждый день, чтобы вбить какие-то знания глубоко в свою психику. Бонусные баллы: это также удваивается как подготовка к собеседованию.
Посмотрите несколько моих примеров, которые я добавлю в ближайшие пару недель.
Рэйчел - разработчик и дизайнер, живущая в Окленде, Калифорния. Любит тосты, скалолазание и походы с этой дамой. Свяжитесь с ней в твиттере или через ее сайт.