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




Глава 8. Минимизация структур управления - часть 21


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

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

Мур приводит другой пример:

Если Вам требуется подсчитывать кусочные функции, скажем, для графического дисплея, то обычно для этого высокого разрешения не нужно. Скорее всего, 7-ми битной функции будет совершенно достаточно. Табличный просмотр 128-ми чисел происходит быстрее, чем что бы то ни было другое из того, что Вы способны применить. Для вычисления низкочастотных функций таблицы решений превосходны. Однако если Вы вынуждены интерполировать, это значит, что приходится все равно вычислять функцию. Скорее всего, будет лучше подсчитать чуть более сложную функцию, избегая таким образом просмотра таблицы.

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

ПЕРЕПРОЕКТИРОВАНИЕ.

------------------------------------------------------------ СОВЕТ Одно изменение внизу способно предотвратить десять решений наверху. ------------------------------------------------------------

В нашем интервью с Муром в начале главы мы отметили, что большое количество проверок могло бы быть устранено из задачи, елси перепроектировать ее так, чтобы можно было применять два слова вместо одного: "Либо говоришь РАБОТАТЬ, либо ДЕЛАТЬ-ВИД". Легче следовать простому, содержательному алгоритму при изменении контекста его окружения, чем выбирать из нескольких алгоритмов при одинаковом окружении. Припомните наш пример слова ЯБЛОКИ из первой главы. Изначально оно было определено как переменная; затем на него по всей задаче была сделана масса ссылок из слов, которые увеличивали количество яблок (когда приходили новые партии), уменьшали его (когда яблоки продавались) и проверяли их текущее количество (при инвентаризации). - 263 -

Когда стало необходимо поддерживать второй сорт яблок, `неправильный` подход состоял бы в том, чтобы добавить сложность во все слова по поставкам/продажам/проверкам. `Правильный` же подход был тот, который мы на самом деле выбрали: добавить сложность "внизу", то есть в сами ЯБЛОКИ.


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