У меня вопрос: Должен ли я всегда полностью квалифицировать методы и классы в VBA?
Это модульный тест, который проверяет, где сортируется данная коллекция или нет после использования метода Lapis.CollectionExt.Sort
.
Lapis
- это имя моего аддина, который я разрабатываю. ExUnit
и CollectionExt
- имена стандартных модулей. GetSig
метод создает полную подпись (имя модуля и имя метода) текущего выполняемого метода.
Полностью квалифицированные методы и объекты
Private Sub SortTest()
On Error GoTo ErrHandler
Const MethodName = "SortTest"
' Act
Dim Actual As VBA.Collection
Set Actual = Lapis.CollectionExt.Sort(Lapis.CollectionExt.Make(3, 2, 1), New Lapis.LongComparer)
' Assert
Dim Expected As VBA.Collection: Set Expected = Lapis.CollectionExt.Make(1, 2, 3)
Lapis.ExUnit.AreEqualSets Expected, Actual, New Lapis.LongEqualityComparer, GetSig(MethodName)
Exit Sub
ErrHandler:
Lapis.ExUnit.TestFailRunTime GetSig(MethodName)
End Sub
Методы и объекты минимальной квалификации
Private Sub SortTest()
On Error GoTo ErrHandler
Const MethodName = "SortTest"
' Act
Dim Actual As Collection
Set Actual = CollectionExt.Sort(CollectionExt.Make(3, 2, 1), New LongComparer)
' Assert
Dim Expected As Collection: Set Expected = CollectionExt.Make(1, 2, 3)
ExUnit.AreEqualSets Expected, Actual, New LongEqualityComparer, GetSig(MethodName)
Exit Sub
ErrHandler:
ExUnit.TestFailRunTime GetSig(MethodName)
End Sub
Мне кажется, что всегда полностью квалифицированные имена могут увеличивать "кодовый шум" в кодовой базе и, как следствие, усложнить понимание кода.