Как безопаснее сравнить 2 и более значения? - VB
Формулировка задачи:
2 случая.Случай №1:
Случай №2:
С точки зрения удобства программирования для меня Случай №1 предпочтительнее, т.к. он более удобочитаем. Он становится ещё более предпочтительнее, если это не просто GetAnythingValue(), а, например, GetAnythingValue(Get_1(Get_2(Get_3(Value)))). Но с точки зрения безопасности кода, ведь я могу забыть про переменные tmp_1 или tmp_2 и в памяти останется кусок, которые можно подсмотреть. А если это какие-то авторизационные данные...
Вопрос заключается в том, что сколько времени в памяти остаются значения сравнения в Случае №2, если, допустим, функция содержит много строк кода, а проверка была выполнена на самом верху? И если эти данные сидят в своих ячейках до End Function, то как избавиться от них в середине функции или сразу после выполнения сравнения?
Решение задачи: «Как безопаснее сравнить 2 и более значения?»
textual
Листинг программы
Option Explicit Function Check() As Boolean Dim tmp_1 As Integer, tmp_2 As Integer On Error Resume Next Dim a&, b& a = 1 If GetAnythingValue(a) = GetAnythingValue(b) Then Debug.Print "GOOD" Else Debug.Print "bad" End If End Function Function GetAnythingValue(l As Long) As Integer If l = 1 Then GetAnythingValue = 1 Else Debug.Print 1 \ 0 End If End Function Private Sub Form_Load() Check End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д