В чем смысл всех этих
End Sub
Private Sub Печатаем(ByVal A2) 'А2 - переменная, которую распечатываем
Debug.WriteLine(A2)
End Sub
В чем смысл всех этих ужасных усложнений, этого превращения мухи в слона? Конечно, в нашем простейшем случае в них нет никакого смысла. Но когда дело дойдет до сложных проектов и процедур, здесь смысл прямой. Поэтому разберемся.
Зачем делить проект на мелкие процедуры, я уже раньше рассказывал. А вот зачем понадобились параметры?
Если ваша процедура сложная и делает что-нибудь полезное, то вы вполне можете захотеть, чтобы она использовалась и в других проектах. Но в другом проекте переменные скорее всего имеют другие имена, например, вместо A там используется B. В этом случае вам придется переписывать текст процедуры (в нашем конкретном случае везде заменить A на B). А переписывать не хочется. В общем, процедура теряет свою универсальность. Чтобы и не переписывать, и универсальность не потерять, надо применить параметры.
Параметру вы придумываете то имя, которое вам заблагорассудится (A1, A2), а не то, что вы видите в программе (A). И обратите внимание, что нашим процедурам с параметрами абсолютно все равно, что переменная имеет имя A. Нигде внутри процедуры это имя не встречается, поэтому процедура уверенно делает свое дело, каково бы оно ни было. Да и программисту как-то понятней, чем занимается процедура, если он видит в ее заголовке список параметров с удобными именами, да еще и с подробными комментариями. Это лучше, чем глядеть в тексте процедуры на чужую переменную A и вспоминать, что это, черт возьми, за переменная и в чем ее смысл.
В общем, совет такой – с глобальными и модульными переменными работайте по возможности через параметры. Что значит «по возможности»? А то, что некоторые такие переменные буквально пронизывают все процедуры проекта и организовывать для них в каждой процедуре параметры – та овчинка, которая не стоит выделки. Обычно таких переменных бывает немного и их легко запомнить.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий