Главная | Все статьи | Код

«Python, делай Print»: что такое псевдокод и зачем его писать

Без стека Время чтения статьи ~5 минут
«Python, делай Print»: что такое псевдокод и зачем его писать главное изображение

Рассказываем, как написать псевдокод и что это вообще такое.

Псевдокод — это построчное неформальное описание кода будущей программы. Он полезен, когда нужно:

  • Описать работу алгоритма. С помощью псевдокода можно объяснить, где и как в программе появляется определенная структура, механизм или прием.
  • Объяснить устройство программы пользователям, которые плохо разбираются в разработке. При написании программы используется строгий синтаксис — иначе она не смогла бы правильно работать. Людям, особенно новичкам, проще воспринимать код на более простом и естественном языке, где понятна задача каждой строки.
  • Работать над кодом в команде. Сеньор-разработчики часто используют псевдокод для решения сложных проблем, с которыми сталкиваются мидлы и джуны, или просто чтобы объяснить свои действия.

Псевдокод будет действительно полезен и упростит разработку, если его правильно написать. Разберем основные правила работы с ним.

Описываем цель программы

Писать псевдокод лучше в простом текстовом редакторе, ему не потребуется сложное форматирование.

Сначала нужно обозначить цель кода в одной или двух строках. Краткое описание цели позволяет структурировать документ и объясняет задачи программы каждому читателю псевдокода.

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

Составляя псевдокод, легко забыться и перейти на язык программирования. Чтобы этого не произошло, нужно всегда помнить про задачи псевдокода — объяснять, для чего нужна каждая строка программы.

Используем стандартные конструкции разработки

Хотя единых требований к псевдокоду не существует, проще понять текст, в котором используются конструкции из языков программирования. Команды «если» (if), «то» (then), «пока» (while), «иначе» (else) и «цикл» (loop) можно применять так же, как и в любом языке программирования. Часто используются следующие конструкции:

  • Если Условие, то Инструкция — инструкция выполняется только при соблюдении условия. Она означает действие, выполняемое программой. Условие формулирует требования, в соответствии с которыми выполняется действие.
  • Пока Условие выполнять Инструкцию — инструкция повторяется многократно, пока выполняется условие. Программа проверяет условие, а затем выполняет инструкцию.
  • Выполнять Инструкцию пока Условие — Эта конструкция похожа на предыдущую, но программа сначала выполняет инструкцию и только потом проверяет условие. Поэтому Инструкция выполняется один раз без проверки условия.
  • Функция Имя (Аргументы): Инструкция — При каждом упоминании в коде указанного имени запускается инструкция. Аргументы обозначают список переменных, которые уточняют инструкцию.

Читайте также: Как правильно писать комментарии к коду: несколько важных примеров

Делаем разделы текста заметнее

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

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

Используем пустые строки и отступы

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

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

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

Если в псевдокоде используются команды «если» и «то», их можно сразу заменить на IF и THEN: «IF ввод числа THEN вывод результата».

Подробно и последовательно описываем действия программы

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

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

Последовательность действий в псевдокоде очень важна. Хотя для пошагового описания лучше использовать простые формулировки, они должны идти именно в том порядке, в котором они выполняются.

Иногда можно отказаться от команд на языке программирования и описать порядок действий на человеческом языке. Вместо «если ввод равен нечетному числу, вывод ‘Y’» можно написать «если пользователь вводит нечетное число, на экране отображается ‘Y’».

Читайте также: Как читать чужой код: 6 правил, которые стоит помнить разработчику

Проверяем себя

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

  • Понятен ли псевдокод человеку, который не знаком с процессом?
  • Легко ли будет преобразовать псевдокод в код на вашем языке программирования?
  • Описан ли процесс полностью, с учетом всех деталей?
  • Понятны ли читателям имена всех объектов?

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

Так выглядит псевдокод — пример нахождения факториала:

INPUT number
SET factorial := 1, i := 1
WHILE i <= number DO     
     COMPUTE factorial := factorial * i
     INCREASE i by 1
END LOOP
PRINT factorial

Продолжайте учиться: На Хекслете есть несколько больших профессий, интенсивов и треков для джуниоров, мидлов и даже сеньоров: они позволят не только узнать новые технологии, но и прокачать уже существующие навыки

Посмотреть предложения Хекслета

Аватар пользователя Алексей Покровский
Алексей Покровский 20 декабря 2022
8
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 26 сентября
профессия
от 6 300 ₽ в месяц
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 26 сентября
профессия
от 6 183 ₽ в месяц
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 26 сентября
профессия
от 6 300 ₽ в месяц
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 26 сентября
профессия
от 5 025 ₽ в месяц
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 26 сентября
профессия
от 6 300 ₽ в месяц
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 26 сентября
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 26 сентября
профессия
от 9 900 ₽ в месяц
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 26 сентября
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 26 сентября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
в разработке
Старт 26 сентября