Шрифт:
Если можете, избегайте ненужных вложений и сокрытий. Помните девиз: “Будь проще!”
Чем больше область видимости имени, тем длиннее и информативнее должно быть ее имя: хуже имен
Функция, присвоившая неправильное значение данной переменной, может находиться в исходном файле, который вы никогда не видели! В хорошей программе может быть лишь несколько (скажем, одна или две) глобальных переменных. Например, калькулятор, описанный в главах 6 и 7, содержит две глобальные переменные: поток лексем
Обратите внимание на то, что большинство конструкций в языке С++ создают вложенные области видимости.
• Функции в классах: функции-члены (раздел 9.4.2).
Это наиболее типичный и полезный вариант.
• Классы в других классах: члены-классы (или вложенные классы).
Это допустимо только в сложных классах; помните, что в идеале класс должен быть маленьким и простым.
• Классы в функциях: локальные классы.
• Функции в других функциях: локальные функции (или вложенные функции).
В языке С++ это не допускается; не поступайте так. Компилятор выдаст ошибку.
• Блоки в функциях и других блоках: вложенные блоки.