Что такое псевдокод?
Для чего он применяется?
Как должен выглядеть и какими качествами должен обладать хороший псевдокод?
Ответ
Что такое псевдокод?
Псевдокод - это своеобразная смесь кода и естественного языка.
Псевдокод - компактный (зачастую неформальный) язык описания алгоритмов, использующий ключевые слова императивных языков
программирования, но опускающий несущественные подробности и
специфический синтаксис Википедия
Его должно быть легко понять, но в то же время написать хороший псевдокод может быть довольно сложной задачей.
Для чего он применяется?
Псевдокод - это попытка сохранить баланс между понятностью естественного языка и точностью кода.
Когда мы описываем алгоритм на естественном языке - высокоуровневость абстракций может излишне усложнить как анализ алгоритма, так и его реализацию на конкректном языке программирования.
С другой стороны, когда же мы описываем алгоритм на ЯП, нам приходится тратить много времени на описание деталей алгоритма, который возможно не будет нами реализован(ведь обычно мы анализируем алгоритмы до того, как принимаем решение о том, какой будем реализовывать)
Хороший псевдокод должен:
Быть похож на хороший код и на простой язык
Игнорировать несущественные подробности
Если вы задумываетесь, где в вашем псевдокоде поставить запятую - вы что-то делаете не так.
Опускать очевидное
Ни к чему, например, указывать очевидные из контекста типы переменных
Учитывать контекст
Выражение Отсортировать массив с помощью quicksort - имеет смысл только если не написано в описании алгоритма quicksort.
Не быть слишком абстрактным
Через ваш псевдокод должно быть возможным увидеть описываемую модель, иначе алгоритм невозможно анализировать, он слишком абстрактен.
А самое главное, следите за результатом, за тем как ваш псевдокод работает на практике.
Если вы обнаружили, что ваш коллега не в состоянии разобрать ваш псевдокод, либо перевести его на ЯП - возможно стоит поработать над псевдокодом.
Пример псевдокода:
Пузырьковая сортировка:
для j от 1 до n-1
для i от 1 до n-j
если aᵢ < aᵢ₊₁ поменять их местами
На мобильных устройствах код сверху может некорректно отображаться: там написано a[i]
Комментариев нет:
Отправить комментарий