Скорее всего, многим попадался код, который выглядит как головоломка: в программе куча ненужных строк и бесполезных комментариев. Или же в неё внесли изменения, и теперь она не проходит тесты.
Все мы сталкивались с такими испытаниями и упущениями. Может быть, мы сами их и вызвали. Но так быть не должно. Существует простое решение, которое поможет вам: чек-листы.
Сама идея звучит проще некуда. Возможно, даже слишком просто, но это не так. Чек-листы не дадут забыть о том, что нужно удалить ненужные части кода и избавиться от лишних комментариев. Они также напомнят о том, что стоит хорошенько подумать, прежде чем называть переменную одной буквой t.
Писать код тяжело, ведь столько всего нужно держать в голове. Сделайте свою жизнь немного проще и используйте чек-лист. Это гарант качества и напоминание о том, что работа будет выполнена правильно и в полном объёме.
Думайте наперёд
Я осознал важность чек-листов, когда начал профессионально заниматься программированием и стал замечать, что совершаю одни и те же ошибки.
Из-за этого я завёл чек-лист, чтобы документировать основные этапы написания программ, чем и пользуюсь до сих пор. И даже набрасывая статьи, в том числе и эту, я опираюсь на чек-лист. Он напоминает мне об очевидных вещах. Например, что нужно добавить ссылки на внешние источники, упомянутые в статье.
Это помогает предотвратить ошибки, которые я мог упустить при первичном написании. Чек-листы также обеспечивают точность в работе и снижают когнитивную нагрузку. В данный момент мне приходится держать в голове меньше вещей. Когда я начал программировать, я также начал составлять множество чек-листов из тех же соображений.
Контролируйте качество
Основная причина использования чек-листов — это возможность убедиться, что работа выполняется качественно и в полной мере.
Все ли тесты проходит программа? Правильно ли имя функции отражает то, что она делает? Удалили ли вы пустые строки в конце файла? Чек-лист обращает ваше внимание на те вещи, которые вы могли бы упустить из виду.
Он также напоминает, что переменная t не несёт никакого смысла для тех, кто будет читать ваш код. С его помощью мы не забываем привести в порядок форматирование. Он напоминает о том, что нужно удалить все команды print
, а также помогает вспомнить о необходимости запустить тесты и убедиться, что программа проходит все из них.
Исправляйте ошибки
Чек-листы помогают заметить ошибки, которые можно сразу исправить.
Однажды я отправил pull request и забыл внести node_modules
в файл gitignore
. Из-за этого в него были добавлены тысячи файлов. Эту ошибку можно было бы легко предотвратить, если бы в чек-листе стояла пометка об этом, однако на то время её ещё не было. Теперь она там есть.
Конечно, имеет смысл добавить node_modules
в файл gitignore
. Также стоит избегать опечаток. Многие вещи кажутся очевидными, когда мы смотрим на прошлое нынешним взглядом, но в тот момент всё воспринимается совсем по-другому. Вот тогда это “очевидное” и может выйти из-под контроля.
Ошибки случаются, и они продолжат случаться. Разница лишь в том, что чек-лист поможет вам заметить их до того, как вы нажмёте кнопку “отправить”.
Снижайте нагрузку
Во время программирования нужно держать в голове множество деталей. Переместите некоторые из них в чек-лист, чтобы снизить нагрузку на мозг.
Так вы сможете сконцентрироваться на сложности кода и довериться чек-листу, который напомнит о простых, но не менее важных задачах, например, об удалении всех print
и приведении в порядок форматирования. Готовый список поможет снизить тревогу и беспокойство, которые часто возникают при выполнении каких-либо сложных задач.
Будучи автором, долгое время я подвергал сомнению свои работы после их отправки. Не забыл ли я добавить X? Стоит ли мне ещё раз проверить Y?
Чрезмерное беспокойство начинало сводить меня с ума. Кроме того, я тратил ценную ментальную энергию. Поэтому я составил кучу небольших чек-листов для конкретных задач, которые я выполняю в качестве писателя.
Я уже упомянул свой писательский чек-лист, однако у меня есть ещё несколько других. Один предназначен для редактирования статей, а другой я использую перед их отправкой. Такие узконаправленные списки дел подарили мне душевное спокойствие.
Такое же количество чек-листов я применяю во время программирования. Они также направлены на выполнение целого ряда различных задач. Например, у меня есть список для продумывания решений. Каждый раз, когда я сталкиваюсь с какой-либо проблемой, я прохожусь по нему, чтобы убедиться, что решение действительно является наилучшим в конкретной ситуации. Также у меня есть чек-листы для выстраивания бэкенда и фронтенда приложений.
Выстраивайте привычки
До этого момента мы говорили о таком преимуществе чек-листов, как повышение производительности. Однако есть и другая причина их использовать: чтобы выработать полезные привычки.
К примеру, я составлял чек-лист, когда изучал конечные точки API. Он охватывал основные этапы написания, а именно:
- Прописать в блокноте, какие функции она будет выполнять (например, обновлять заголовок конкретного поста).
- Написать SQL-запрос для конечной точки и запустить его в базе данных.
- Зарисовать в блокноте возможные отклики.
Было ещё несколько других пунктов, но думаю, вы уловили суть: я записывал основные шаги для эффективного написания конечной точки API перед тем, как сесть за сам код. Это помогло мне в деталях понять, что и зачем я делаю, а затем протестировать предположения.
Используя этот чек-лист, я стал делать намного меньше ошибок, а также закрепил в своём мозгу важные принципы.
Составьте свой чек-лист
Составить чек-лист очень просто: выделите важные шаги процесса во время его выполнения. Например, во время выстраивания бэкенда выпишите ключевые моменты или части, где вы склонны допускать ошибки.
Я стараюсь свести свои чек-листы к небольшому количеству шагов. Список из 5–7 пунктов выглядит удобнее и менее пугающе. Цель здесь заключается в том, чтобы закрепить основные и очевидные части процесса, а не писать о нём подробную техническую статью.
Чек-листы, которые вы используете чаще всего, можно повесить над рабочим столом — так будет удобно применять их во время выполнения задач по программированию. Другие списки достаточно сохранить на компьютере и открывать при необходимости.
Чек-листы значительно упрощают жизнь. Хотя они не на 100% надёжны, по крайней мере они приносят мгновенный результат. Это простой инструмент с очень полезным эффектом.
Читайте также:
- Лучшие приёмы HR от Google
- От рекомендаций по проведению ревью кода к общечеловеческим ценностям
- Выход из тени: 6 малоизвестных команд Linux
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Amy M Haddad: Why You Need a Programming Checklist