ГОСТ 19.101-77 определяет текст программы как запись программы с необходимыми комментариями. Программный документ "Текст программы" должен состоять из: титульной части, информационной части, основной части, части регистрации изменений.
В разделе "СОДЕРЖАНИЕ" информационной части должны быть указаны названия всех программных единиц (программ, подпрограмм, модулей, и т.д.), входящих в программный комплекс и номера страниц документа, на которых располагаются тексты соответствующих программных единиц. В основной части должны быть представлены тексты всех программных единиц, причем текст каждой программной единицы должен начинаться со спецификации и снабжаться необходимыми комментариями. Спецификацией назовем краткое определение функционального назначения программного продукта и описание входных и выходных данных, а также ряда внутренних структур данных, необходимых для понимания логики работы программы. Спецификация должна предварять общий текст программы и располагаться в отдельных строках комментария. Основной текст программы должен быть снабжен комментариями, определяющими логику работы программы. Бессмысленные комментарии типа "Цикл по I от 1 до 15" перед оператором цикла только мешают пониманию программы. Комментарии должны быть такими, чтобы прочитав их без текста программы, можно было восстановить логику работы программы. Лучшей документацией внутренней логики программы является простая и ясная структура текста программы, использование сдвига по строке в соответствии с уровнем вложенности, осмысленные имена и соблюдение других правил, касающихся хорошего стиля программирования [3, 4, 5, 6]. Пример программы приведен на рисунке 5.
Program Control;
{ Программа контроля правильности расстановки скобок в программах }
Uses Stack; { Подключение модуля для работы со стеком }
Procedure Brackets(NameF:String); { Процедура проверки правильности расстановки скобок в тексте программы - текстовом файле с именем NameF }
pu:=Top; { Запоминание ссылки на удаляемый элемент }
Top:=Top^.pSled;{ Новая ссылка на вершину стека }
Dispose(pu) { Удаление элемента стека }
End
End; { OutStack }
End.
Рисунок 5 (продолжение)
Продуманный и обоснованный выбор структур данных, наиболее адекватно отражающих моделируемую предметную область, а также соответствующее описание их в программе может повлиять на эффективность и легкость чтения программы. В программах для обеспечения большей универсальности и более легкой модифицируемости рекомендуется избегать явных констант, кроме таких общеупотребительных как нуль и единица.
Структура программы должна быть простой и легко воспринимаемой при первом чтении. Следует разбивать программу на отдельные подпрограммы, выделяя повторяющиеся части программы. Умелое разбиение программного продукта на подпрограммы, не превышающие размера одной страницы программного текста, позволит сделать программу легко читаемой, облегчит и ускорит ее отладку.
Необходимо выполнять исчерпывающие проверки в программе. Анализ корректности входных данных в программе является обязательным. Не следует писать изменяющих себя программ. Несомненную пользу программисту принесет знакомство с литературой, посвященной технике и технологии программирования [3 - 6].