Cтраница 4
Рабочие пространства, как и другие классы, могут быть организованы в иерархию. Рабочее пространство может быть рабочим про-странством. При этом подпро-странство объекта является составной частью пространства, в котором находится данный объект. Подпространства могут и сами содержать объекты с подпространствами. Уровень вложенности подпространств практически может быть не ограничен. [46]
![]() |
Директивы условного ассемблирования. [47] |
Возможна вложенность условных директив. При невыполнении самого внешнего уровня не ассемблируются все входящие в него предложения. IF, вложенных один в другой, можно интерпретировать как схему совпадения И. Например, если уровень вложенности достигает трех, то предложения, следующие за последним условным оператором, ассемблируются в случае выполнения всех трех условий. [48]
Пример 4.10 иллюстрирует сложность, которая быстро возникает, когда вставка делается слишком глубоко. Локальные модули могут использоваться для уменьшения сложности ( см. гл. Вы должны избегать глубокой вложенности, за исключением тех случаев, когда структура задачи усиленно толкает вас к вложенному решению. Многие программы имеют только один уровень вложенности. [49]
Кажется, все согласны, что операторы goto вредны. Однако гораздо меньше программистов согласны, что глубокая вложенность процедур и модулей - это также пагубная практика. Я нахожу, что достаточно тяжело заботиться об окружающих процедурах и модулях. Конструкции из шести или восьми уровней вложенности контекста - это поистине не реально для понимания. Некоторые клянутся, что процедуры, вложенные до глубины двадцатого уровня вложенности, прослеживаются легко. [50]