ПОНЯТНО О Visual Basic NET (том 3)



К чему все эти сложности?


Равноправие не окупается. Давайте еще раз зададимся вопросом: зачем было выдумывать все эти глобальные, модульные и локальные переменные, области видимости, эффект затенения и прочее? Не проще ли было все переменные и другие элементы сделать равноправными, тогда, глядишь, и никаких областей, эффектов и прочих сложностей не понадобилось бы? Давайте попробуем так и сделать. Для простоты будем рассуждать только о переменных.

Итак, сделаем все переменные равноправными. И пусть безо всяких сложностей все переменные будут видны во всем п?оек?е, ?руг?ми ?лов?ми,?по ?аше? те?мин?лог?и, ?уст? вс? он? бу?ут ?лоб?льн?ми.?Тог?а б?льш?е п?оек?ы, ?озд?вае?ые ?ома?дой про?рам?ист?в, ?уде? кр?йне?тяж?ло ?тла?ива?ь, ?ак ?ак ?рид?тся?сле?ить?за ?ем,?что?ы н?где?не ?стр?тил?сь ?дин?ков?х и?ен ?что?и очень неудобно, кстати). Кроме этого, при отладке любой процедуры придется следить за тем, как бы случайно не испортить значение той или иной глобальной переменной, от которой зависит работа других процедур. Во многом потеряют смысл процедуры с параметрами, так как вся их прелесть в том как раз и состоит, чтобы «развязать» создателя процедуры и проект, чтобы сделать из процедуры «вещь в себе», надежно защищенную от «помех» со стороны проекта.

Итак, сделать все переменные глобальными нельзя. Тогда, может быть, сделать их все локальными? Тоже не получится, так как это крайне затруднит обмен информацией между процедурами и модулями. А без этого обмена проект рассыплется на отдельные процедуры, как карточный домик. Вот и получается, что переменные нужны разные – ? гл?бал?ные?и л?кал?ные? и ?ику?а от эт?го не д?неш?ся.?

Пр?дет?я р?зре?ать?и о?нои?енные п?ременные. А?раз так? то?нуж?ы и обл?сти?вид?мос?и и?эффект ?ате?ени?.

Чем л?кал?нее? те? лу?ше. Вст?ет вопр?с: ?аку? об?аст? видимо?ти ?ам выби?ать?для?каж?ой конкретной переменной?  Объявлять ли ее глобальной, модульной или локальной? Здесь совет один – любую переменную делайте как можно более локальной, пусть ее область видимости будет как можно меньше. Если ее значение нужно только в одной процедуре и больше нигде, делайте ее локальной. Если ее значение нужно в нескольких процедурах одного модуля, а в других модулях нет, то делайте ее модульной. И только если значение переменной нужно в нескольких модулях, делайте ее глобальной. Такой подход обеспечит вашему проекту максимальную надежность и удобство в отладке.




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