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



         

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


Посередине же несколько строчек кода используют баланс для собственных нужд. Поскольку трудно сразу увидеть, что баланс все еще находится на стеке при вызове ПОКАЗАТЬ, программист вставляет стековую картинку.

Такое решение обычно говорит о плохой факторизации. Лучше написать:

: РЕВИЗОВАТЬ ( баланс -- ) ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ; ... БАЛАНС DUP РЕВИЗОВАТЬ ПОКАЗАТЬ ...

При этом не нужны внутренние стековые картинки. Более того, программист теперь получил пригодный для повторного использования, проверяемый набор определений.

------------------------------------------------------------ СОВЕТ Ограничивайте повторения кода. ------------------------------------------------------------

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

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

Мур:

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

Неоднократно, когда программа становится слишком большой, я возвращаюсь назад и просматриваю ее в поисках фраз, бросающихся в глаза как кандидаты для вычленения. Компьютер не может этого сделать - слишком много вариантов.

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

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

ЭКРАН КУРСОР @ +

Пскольку она встечалась во многих местах, я выделил ее в отдельное слово НА.

Только от Вас зависит умение выделять изложенные по-разному, но функционально эквивалентные фрагменты, типа:

ЭКРАН КУРСОР @ 1- +

Слово 1- кажется выпадающим из фразы, выделенной в слово НА.


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