Пользовательская функция VBA: Плохо для имени аргумента и переданного имени переменной для сопоставления? - PullRequest
0 голосов
/ 31 июля 2009

Обратите внимание, что аргумент функции называется strToothpaste. Когда вызывается функция, переданная переменная использует то же имя.

Private Sub DoThis()
  Dim strToothpaste as String
  Dim booSmellsFunny as Boolean
  booSmellsFunny = fnc_Fragrance(strToothpaste)
End Sub
--------------------------
Private Function fnc_Fragrance(strToothpaste As String) as Boolean
  If strToothpaste Like "Dr Watson's" Then
     fnc_Fragrance = True
  Else
     fnc_Fragrance = False
  End If
End Function
  • Есть ли проблема с повторным использованием имени?
  • Если переменные не ограничены должным образом по объему повторяет имена стать опасным?
  • Если вышеизложенное верно, тогда это значит, хороший обзор означает, что имена могут быть отражены без проблема?
  • Влияет ли рекурсия на что-нибудь? (Помимо перепроверять границы ...)

1 Ответ

4 голосов
/ 31 июля 2009
  1. Нет, совсем нет, VBA достаточно умен, чтобы определить, что параметр является параметром, относящимся к функции
  2. Да, это может быть опасно, если у вас есть привычка Option Expiclit Off, которая никогда не идет на пользу вашему здравомыслию.
  3. Да, имена могут отображаться без проблем с правильной областью видимости.
  4. Совсем нет.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...