Способ мышления-Форт


Глава 5. Разработка: элементы Форт-стиля - часть 2


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

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

СОСТАВЛЕНИЕ.

Составление (композиция) состоит в складывании друг с другом кусочков для создания единого целого. Хорошая композиция требует столько же артистизма, сколько и хорошая декомпозиция.

Одно из Фортовских соглашений состоит в том, что исходные тексты размещаются в "блоках" (*), которые являются порциями массовой памяти по 1К каждый. В Форте можно сцеплять каждый блок исходного текста со следующим, получая весь листинг линейным, в виде некоего длинного пергаментного свитка. Такой подход не хорош. Вместо него:

(*) - в оригинале использовался термин "экран" ("screen"). В соответствии с более современными соглашениями здесь и далее "экраны" заменены на "блоки" ("blocks") (термин "экран" применялся ранее для обозначения блока, содержащего исходный текст).

------------------------------------------------------------ СОВЕТ Стройте текст Вашей программы как книгу: иерархически. ------------------------------------------------------------

Задача может состоять из:

`Блоков:` мельчайших частей текста на Форте; `Лексиконов:` от одного до трех блоков, достаточных для размещения компонента; `Глав:` серий родственных лексиконов; `Загрузочных блоков:` аналогичных оглавлению, такой блок загружает главы в нужной последовательности.

БЛОК ЗАГРУЗКИ ПРОГРАММЫ.

Рисунок 5-1 - это пример загрузочного блока. Поскольку этот блок имеет номер 1, можно загрузить всю задачу, введя

1 LOAD

Отдельные команды LOAD внутри блока загружают главы задачи. К примеру, блок 12 - загрузочный для главы видео-примитивов.




Начало  Назад  Вперед