Access 2002

Случайное чтение


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

Любая процедура в любом модуле, в который включен код из листинга 12.20, может читать значение переменной pintCurrentValue (вызывая функцию Get- CurrentValue) и устанавливать ее значение (вызывая функцию SetCurrentValue). Если же сделать функцию SetCurrentValue личной (Private), ни одна процедура за пределами модуля не сможет изменять значение переменной pintCurrentValue. Защищая таким образом свои псевдо-глобальные переменные, можно избежать ошибок, которые легко возникают в приложениях, состоящих из многих модулей. Особенно важно это при командной работе, когда модули пишутся разными программистами.

Рассмотренные нами правила, помогающие структурировать программный код, можно дополнить еще одним важным ом: используйте согласованные правила именования объектов и переменных. Мы (вместе со многими другими программистами) выработали ряд соглашений, основанных на классических правилах RVBA, которые вы найдете в Приложении А. Использование подобных соглашений упрощает обнаружение ошибок и сопровождение приложения другими программистами. Например, если автор кода, который вы читаете, следовал правилам RVBA, вы сможете по имени любой переменной определить ее тип и область действия. В процессе отладки эта информация бывает очень полезна.

Комментарии закрыты