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

         

Глава 6. Фрагментация - часть 17


Часто, если Вы определили что-то в виде слова, оказывается, что оно встречается лишь однажды. Если Вы на свою голову дали имя такой фразе, то Вам придется помнить, что именно делает ДИАПАЗОН. Манипуляции не видны из названия. OVER + SWAP имеет более значимую мнемоническую ценность, чем ДИАПАЗОН.

----------------------------------------------------------------

Я называю такие фразы "клише". Они сами по себе образуют исполненную значения функцию. Не нужно помнить, как работает такая фраза, а только что она делает. И не надо запоминать еще одно имя.

ФАКТОРИЗАЦИЯ ПРИ КОМПИЛЯЦИИ

В последнем разделе мы рассмотрели много способов для организации кода и данных с целью уменьшения избыточности.

Мы можем также применить принцип ограничения избыточности для времени компиляции, позволяя Форту делать за нас черную работу.

------------------------------------------------------------ СОВЕТ Для получения максимальной управляемости снижайте избыточность даже при компиляции. ------------------------------------------------------------

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

Рис.6-1. Что нам нужно изобразить.

******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ********

******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ********

******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ******** ********

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

Разумеется, мы можем определить:

8 CONSTANT ШИРИНА 5 CONSTANT ВЫСОТА 4 CONSTANT ПЕРЕУЛОК 2 CONSTANT УЛИЦА

(Улицы идут на восток и запад, переулки простираются к северу и югу.)

Теперь мы можем посчитать в уме левый отступ. Мы собираемся отцентрировать все эти квадратики на экране шириной в 80 колонок.


Содержание  Назад  Вперед