Почему вам стоит завести чек-листы для программирования

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

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

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

Писать код тяжело, ведь столько всего нужно держать в голове. Сделайте свою жизнь немного проще и используйте чек-лист. Это гарант качества и напоминание о том, что работа будет выполнена правильно и в полном объёме.

Думайте наперёд

Я осознал важность чек-листов, когда начал профессионально заниматься программированием и стал замечать, что совершаю одни и те же ошибки.

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

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

Контролируйте качество

Основная причина использования чек-листов  —  это возможность убедиться, что работа выполняется качественно и в полной мере.

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

Он также напоминает, что переменная t не несёт никакого смысла для тех, кто будет читать ваш код. С его помощью мы не забываем привести в порядок форматирование. Он напоминает о том, что нужно удалить все команды print, а также помогает вспомнить о необходимости запустить тесты и убедиться, что программа проходит все из них.

Исправляйте ошибки

Чек-листы помогают заметить ошибки, которые можно сразу исправить.

Однажды я отправил pull request и забыл внести node_modules в файл gitignore. Из-за этого в него были добавлены тысячи файлов. Эту ошибку можно было бы легко предотвратить, если бы в чек-листе стояла пометка об этом, однако на то время её ещё не было. Теперь она там есть.

Конечно, имеет смысл добавить node_modules в файл gitignore. Также стоит избегать опечаток. Многие вещи кажутся очевидными, когда мы смотрим на прошлое нынешним взглядом, но в тот момент всё воспринимается совсем по-другому. Вот тогда это “очевидное” и может выйти из-под контроля.

Ошибки случаются, и они продолжат случаться. Разница лишь в том, что чек-лист поможет вам заметить их до того, как вы нажмёте кнопку “отправить”.

Снижайте нагрузку

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

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

Будучи автором, долгое время я подвергал сомнению свои работы после их отправки. Не забыл ли я добавить X? Стоит ли мне ещё раз проверить Y?

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

Я уже упомянул свой писательский чек-лист, однако у меня есть ещё несколько других. Один предназначен для редактирования статей, а другой я использую перед их отправкой. Такие узконаправленные списки дел подарили мне душевное спокойствие.

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

Выстраивайте привычки

До этого момента мы говорили о таком преимуществе чек-листов, как повышение производительности. Однако есть и другая причина их использовать: чтобы выработать полезные привычки.

К примеру, я составлял чек-лист, когда изучал конечные точки API. Он охватывал основные этапы написания, а именно:

  • Прописать в блокноте, какие функции она будет выполнять (например, обновлять заголовок конкретного поста).
  • Написать SQL-запрос для конечной точки и запустить его в базе данных.
  • Зарисовать в блокноте возможные отклики.

Было ещё несколько других пунктов, но думаю, вы уловили суть: я записывал основные шаги для эффективного написания конечной точки API перед тем, как сесть за сам код. Это помогло мне в деталях понять, что и зачем я делаю, а затем протестировать предположения.

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

Составьте свой чек-лист

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

Я стараюсь свести свои чек-листы к небольшому количеству шагов. Список из 5–7 пунктов выглядит удобнее и менее пугающе. Цель здесь заключается в том, чтобы закрепить основные и очевидные части процесса, а не писать о нём подробную техническую статью.

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

Чек-листы значительно упрощают жизнь. Хотя они не на 100% надёжны, по крайней мере они приносят мгновенный результат. Это простой инструмент с очень полезным эффектом.

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи Amy M Haddad: Why You Need a Programming Checklist

Предыдущая статьяРазветвление на различные очереди SQS с помощью фильтрации сообщений SNS
Следующая статьяСупергеройский макет: комбинируем CSS-сетки и CSS-фигуры