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




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


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

------------------------------------------------------------ СОВЕТ Остерегайтесь проверок на специальные случаи. ------------------------------------------------------------

Один из примеров мы упомянули в этой книге раньше: если Вы обеспечиваете непопадание пользователя в беду, то Вам не требуется постоянно проверять, не попал ли он все-таки в эту беду.

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

Мур:

Другой хороший пример - это написание ассемблеров. Очень часто, даже если код операции может и не иметь ассоциированного с ним номера регистра, можно многое упростить, делая вид, что такой регистр есть - скажем, Регистр 0. Решение упрощается, когда производятся арифметические действия над ненужными битовыми полями. Просто запишите в них нули и продолжайте вычисления, которые Вы могли бы избежать, делая проверки на ноль и обходя их. Это - другая ипостась принципа "безразличности". Если Вам безразлично, то дайте безразличное число и используте его.

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

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

------------------------------------------------------------ СОВЕТ Используйте свойства компонента. ------------------------------------------------------------ - 265 -

Хорошо спроектированный компонент - аппаратный или программный - позволит Вам разработать соответствующий лексикон в чистой и эффективной манере. Набор символьной графики старого принтера Epson MX-80 (хотя ныне и устаревший) хорошо иллюстрирует эту точку зрения. На рисунке 8-6 показаны графические символы, производимые кодами ASCII от 160 до 233.

Рис.8-6. Набор символьной графики Epson MX-80.

0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 . . . 1 1 0 0 0 0 0 0 0 0 0 0 1 1

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


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