Область видимости переменных

Мы отметили удобство указания в именах переменных их типа и области видимости. Что такое тип переменной, мы определили, а что представляет собойобласть видимости? В Visual FoxPro существует три области видимости, характеризуемые ключевыми словами LOCAL, PRIVATE и PUBLIC.

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

>    PRIVATE - скрывает переменные, заданные в программе более высокогоуровня, вызывающей текущую программу. Это значит, что если вы объявили в программе переменную pn_RecN = 5 и вызвали процедуру, внутрикоторой объявлена переменная, также имеющая имя pn_RecN и обладающая областью действия PRIVATE, то внутри процедуры вы можете присваивать ей какие угодно значения, производить над ней какие угоднооперации, но переменная вызывающей программы pn_RecN при этомсохранит свое значение и будет по-прежнему pn_RecN = 5;

>    PUBLIC - позволяет объявить глобальные переменные. Значения этихпеременных видны из всех процедур и функций.

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

PUBLIC gn_RecN

Инициализацию переменных размещают в начале программы, процедурыили функции.

Рекомендации по наименованию переменных

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

Microsoft рекомендует следующие правила именования переменных:

>    ОбластьВидимости - представляется одним из четырех символов:

>    Тип - тип переменной, представленный одним из следующих символов:

ь

>    ИмяПеременной - произвольный набор символов на ваше усмотрение, пожелательно, чтобы по имени можно было понять назначение переменной.

Михаил Корнеев, известный специалист по Visual FoxPro, рекомендует вдополнение к указанному выше формату имени отделять первые два символаот имени переменной подчеркиванием ([ОбластьВидимости]Тип_ИмяПере-менной).

Например:

gcCommandLine - глобальная строковая переменная;

lnlndex - локальная переменная числового типа;

ld__dv - локальная переменная, храпящая дату.

Иногда, если есть вероятность совпадения имен полей с именами переменных, по рекомендации Microsoft перед именами переменных ставят префикс шс точкой. Например, ш. lnlndex.

Стоит отметить, что язык программирования Visual FoxPro регистронезависимый (иногда используют термин не case-чувствительность). Это означает, что если выиспользовали переменную с именем ln_MyNum, а ниже в программе написалиее имя как ln_mynum, то Visual FoxPro воспринимает ее как ту же самую переменную. Это же относится и к командам, и к функциям. Можно писать их имена и большими буквами, и маленькими, и вперемешку.