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




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


ЦЕЛЕВЫЕ КОММЕНТАРИИ.

------------------------------------------------------------ СОВЕТ Каждое определение должно иметь целевой комментарий, кроме случаев, когда: а) его работа ясна из стекового комментария, или б) оно состоит из трех или меньшего числа слов. ------------------------------------------------------------

Целевой комментарий должен иметь минимальные размеры - никогда не быть длиннее одной строки. К примеру:

: COLD \ сбросить систему в исходное состояние ... ;

Используйте повелительное наклонение: "установить цвет фона", а не "устанавливает цвет фона".

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

: SPACES ( #) ... ;

или

: SPACES ( #пробелов-напечатать -- ) ... ;

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

: ЭЛЕМЕНТ ( #элемента -- 'элемента ) 2* ТАБЛИЦА + ;

Это определение преобразует получаемый им индекс в адрес внутри таблицы 2-х байтных элементов, относящийся к нужному элементу.

: PAD ( -- 'временного-буфера) HERE 80 + ;

Это определение дает адрес района памяти для временного использования.

Иногда читабельность лучше обеспечивается применением обоих типов комментариев. В этом случае целевой комментарий должен появляться последним. К примеру:

: BLOCK ( n -- a) \ закрепить блок n в буфере по адресу а

------------------------------------------------------------ СОВЕТ Показывайте тип комментария, соблюдая следующий порядок: вначале - комментарий по входному потоку, затем - комментарий изменений на стеке, последний - целевой комментарий. ------------------------------------------------------------

К примеру:

: ДАТЬ \ имя ( -- а) дать первое совпадение

Если Вы предпочитаете использовать (, можно записать:

: ДАТЬ ( имя ( -- а) ( дать первое совпадение)

При необходимости можно расположить целевой комментарий в следующей строке:




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