Самодокументирующие программы

Содержание

Слайд 2

КАКАЯ ДОКУМЕНТАЦИЯ ТРЕБУЕТСЯ? Чтобы использовать программу. Каждому пользователю требуется словесное описание

КАКАЯ ДОКУМЕНТАЦИЯ ТРЕБУЕТСЯ?

Чтобы использовать программу. Каждому пользователю требуется словесное описание программы
Назначение. Что является

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

ОПРЕДЕЛЕНИЕ Самодокументирующие программы – это один из основных принципов обработки данных

ОПРЕДЕЛЕНИЕ

Самодокументирующие программы – это один из основных принципов обработки данных учит,

что безрассудно стараться поддерживать синхронность независимых файлов. Значительно лучше собрать их в один файл, в котором каждая запись содержит все данные их обоих файлов, относящиеся к данному ключу.
Слайд 4

ПОДХОД Первое предложение состоит в том, чтобы разделы программы, обязанные присутствовать

ПОДХОД

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

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

ПОДХОД Второе предложение - в максимальной мере использовать пространство и формат,

ПОДХОД

Второе предложение - в максимальной мере использовать пространство и формат, чтобы

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

РАЗРАБОТКА ПРОГРАММЫ Поскольку документация встраивается в используемые программой структуру, имена и

РАЗРАБОТКА ПРОГРАММЫ

Поскольку документация встраивается в используемые программой структуру, имена и форматы,

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

НЕКОТОРЫЕ ПРИЕМЫ Используйте для каждого запуска свое имя задания и ведите

НЕКОТОРЫЕ ПРИЕМЫ

Используйте для каждого запуска свое имя задания и ведите журнал,

в котором учитывайте предмет проверки, время и полученные результаты. Если имя состоит из мнемоники (здесь QLT) и числового суффикса (здесь 4), то суффикс можно использовать в качестве номера запуска, связывающего запись в журнале и листинг. При этом для разных прогонов требуются свои карты задания, но их можно делать колодами с дублированием постоянных данных.
Используйте мнемонические названия программы, включающие идентификатор версии - в предположении, что будет несколько версий. Здесь индекс - две младшие цифры года.
Включите текстовое описание в качестве комментариев к PROCEDURE.
Для документирования алгоритмов ссылайтесь, где можно, на литературу. Это экономит место, адресует к более полному освещению, чем можно дать в программе, и дает возможность знающему читателю пропустить ссылку, оставляя уверенность, что он вас поймет.
Покажите связь с алгоритмом, описанным в книге: а) изменения; б) особенности использования; в) представление данных.
Объявите все переменные. Используйте мнемонику. Используйте комментарии для превращения оператора DECLARE в полноценную легенду. Обратите внимание, что он уже содержит имена и описания структур, нужно лишь дополнить его описаниями назначения. Сделав это здесь, вы избежите отдельного повторения имен и структурных описаний.
Поставьте метку в начале инициализации.
Поставьте метки перед группами операторов, соответствующие операторам алгоритма, описанного в книге.
Используйте отступы для показа структуры и группирования.
Вручную поставьте стрелки, показывающие логический порядок операторов. Они очень полезны при отладке и внесении изменений. Их можно поместить на правом поле места для комментариев и сделать частью вводимого в машину текста.
Вставьте строчные комментарии для пояснения всего, что неочевидно. При использовании изложенных выше приемов они окажутся короче и малочисленней, чем обычно.
Помещайте несколько операторов на одной строке или один оператор на нескольких строках в соответствии с логической группировкой, а также, чтобы показать связь с описанием алгоритма
Слайд 8

ВОЗРАЖЕНИЯ Возражения. Каковы недостатки такого подхода к документированию? Они существуют, и

ВОЗРАЖЕНИЯ

Возражения. Каковы недостатки такого подхода к документированию? Они существуют, и в

прежние времена были существенными, но сейчас становятся мнимыми.
Самым серьезным возражением является увеличение размера исходного текста, который нужно хранить. Поскольку практика все более тяготеет к хранению исходного кода в активных устройствах, это вызывает растущее беспокойство. Лично я пишу более краткие комментарии в программах на APL, которые хранятся на диске, чем в программах на PL/I, которые хранятся на перфокартах.
Однако одновременно мы движемся к хранению в активных устройствах текстовых документов, доступ к которым и изменение осуществляется с помощью компьютеризированных текстовых редакторов. Как указывалось выше, слияние текста и программы сокращает общее количество хранимых символов.
Слайд 9

ЗАКЛЮЧЕНИЕ Подход на основе самодокументирования стимулирован применением языков высокого уровня и

ЗАКЛЮЧЕНИЕ

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

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