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



         

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


Родственный страх возникает и от того, что чрезрезмерное дробление будет снижать производительность за счет слишком частого обращения к встроенному интерпретатору Форта. Опять-таки, правда то, что за каждый уровень вложенности приходится платить. Но обычно проигрыш за вложенность при правильном разбиении не заметен. Если же положение действительно так серьезно, правильным решением будет перевод некоторых частей на ассемблер.

------------------------------------------------------------ СОВЕТ Производите разбиение там, где чувствуете неуверенность в своем коде (где сложность достигает пределов понимания). ------------------------------------------------------------

Не позволяйте своему Я бравировать отношением "Я это превзойду!". Код на Форте никогда не должен вызывать чувство неуютной сложности. Факторизуйте!

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

Мур:

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

И, выделив слово для отладки, нет никакой причины внедрять его назад. Оно пригодилось вам вначале. Нет гарантии того, что оно опять Вам не понадобится.

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

Вот еще одна сторона того же принципа:

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

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

Предположим, у Вас написано:

... БАЛАНС DUP ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ххх ( баланс) ПОКАЗАТЬ ...

Ситуация начинается с вычисления баланса и заканчивается его распечаткой.


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