Cтраница 3
Каждый модуль состоит из предложений и комментариев. Как обычно, комментарии используются для повышения наглядности программы, не влияя на характер ее выполнения. [31]
К тому же это наиболее легкий и дешевый способ повышения наглядности программы, так как он не требует ни значительных умственных усилий от программиста, ни дополнительных затрат машинного времени. [32]
Зги две записи совершенно эквивалентны, причем закрывающая скобка после у не завершает список параметров. Такие конструкции между параметрами не влияют на выполнение алгоритма и употребляются только для повышения наглядности программы. [33]
Пределы диапазонов нужно выбирать очень тщательно. Если диапазон задан в слишком широких пределах, то от этого в целом страдает лишь наглядность программы: читающий не знает, что делать с переменной, он не сразу понимает ее назначение. С такими трудностями понимания может, между прочим, столкнуться и сам автор, причем спустя всего лишь несколько дней или недель после составления программы. Вы даже не представляете, как быстро забываются подробности любой программы. [34]
Команда MOV использует инструкцию BIC как литерал. Использование такого приема, хотя он может показаться удобным и эффективным, не рекомендуется, поскольку он ухудшает наглядность программы и может порождать ошибки при изменении инструкции BIG или режима адресации одного из операндов. [35]
Как уже отмечалось, текст программы разбивается на строки, в терминах которых осуществляются добавление слоев и коррекция. При выборе принципа деления текста на строки следует учитывать возможные функции строк: связь с исходным носителем, обеспечение наглядности программы, связь с распечаткой. [36]
Для идентификаторов широко применяется следующий простой синтаксис - цепочки букв и цифр, начинающиеся с буквы. Ограничения длины, например ограничение до 6 литер в Фортране, приводят к тому, что часто приходится пользоваться идентификаторами с невыразительной мнемоникой, от чего сильно страдает наглядность программы. [37]
Символическое кодирование является первой ступенью автоматизации программирования. Оно должно полностью устранить кодирование на машинном языке, так как имеет перед ним ряд неоспоримых преимуществ: мнемонические названия команд и удобный формат их написания; символическая адресация; возможность автоматической трансляции; легкость внесения изменения с целью отладки или корректировки; уменьшение количества ошибок и их автоматическое обнаружение и даже исправление; наглядность программы; возможность относительно независимого кодирования различными лицами частей программы и последующего объединения; более высокую производительность труда программиста; низкие общие затраты машинного времени на получение отлаженной программы. [38]
Вероятность появления ошибок в программе, особенно сложной и длинной, очень велика, и организация ее функционирования представляет собой трудную задачу. Бессистемное написание операторов, наличие множества перекодов, вложенных и рекурсивных процедур иногда делают программу практически необозримой и недоступной для структурного анализа. Поскольку наглядность программы, как правило, пропорциональна ее надежности, возникает необходимость разбиения программы на части ради упрощения ее структуры. Это может быть обеспечено простейшим путем - выделением в программе обособленных разделов по их функциональному назначению. Например в начале программы могут быть размещены различные описания и определения, затем, во второй ее части - процедуры инициализации, в третьей - ввод данных, после чего следует обработка и, наконец, вывод данных. [39]
Хотя Алгол допускает довольно сложные конструкции операторов перехода, признаком хорошей программы на Алголе считается как можно более редкое использование в ней этих операторов. Другие управляющие структуры, в частности условные операторы и операторы цикла, помогают избежать применения операторов goto. Степень наглядности программы на Алголе без операторов goto по всей видимости и лежит в основе дискуссии о переходах ( см. разд. [40]
Напомним, что при наличии в программе команды транслятору PRINT NOGEN, в листинге, выдаваемом транслятором, печатается исходный текст автокодной программы. При этом для улучшения наглядности программы на печать выдается сначала сама макрокоманда ( хотя она и не фигурирует в программе, передаваемой на обработку ассемблеру), а затем - результат макроподстановки. [41]
Чисто статическое определение типов приводит и к тому, что процедуры и функции могут применяться только к массивам одного фиксированного размера. Бели в качестве формального параметра используется массив, то снова требуется задать его длину. Вирт [ 19], это правило способствует наглядности программ, предохраняет их от ошибок, но служит весьма серьезным препятствием для гибкости процедур. [42]
Текст программы, записывается в свободной форме без привязки к каким-либо определенным колонкам бланка программирования. Между отдельными элементами программы ( ключевыми словами, идентификаторами, константами, операторами) могут быть вставлены пробелы. Они не являются обязательными, но повышают наглядность программы и качество программного документа. [43]
Использование имен регистров Как уже отмечалось, из-за малого количества общих регистров и их интенсивного использования транслятор не занимается распределением регистров для тех или иных целей - решение этого вопроса полностью передается на усмотрение программиста. По этой причине ссылка на регистры в автокодных командах, вообще говоря, должна производиться путем указания их номеров. Однако при этом, конечно, снижается наглядность программы, поскольку надо вспоминать, значение какой величины хранится в регистре с тем или иным номером. Автокод позволяет дать каждому регистру свое имя и использовать его для ссылок на содержимое регистра, а с помощью объявлений эквивалентности программист может каждому из этих имен поставить в соответствие определенный номер. В нашей программе используется и предшествующий ему регистр. Ему, конечно, тоже можно дать свое имя, например РР, а потом с помощью объявлений эквивалентности поставить в соответствие именам Р и РР нужные номера регистров. [44]
В наших примерах из предыдущего раздела мы видели, что удаление отсечений из программы может привести к изменению ее декларативного смысла. Использование отсечений последнего типа требует меньшей осторожности, и поэтому такие отсечения иногда называют зелеными отсечениями, С точки зрения наглядности программы такие отсечения невшшы и их использование вполне приемлемо. При чтении программы их можно просто игнорировать. [45]