VB Visual Basic  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Nullable-типы и Nothing

Тест по теме «Nullable-типы и Nothing» состоит из 25 вопросов: нужно читать код, сравнивать близкие решения, находить границы применимости правил и разбирать последствия ошибок. Заданий с кодом — 15; после каждого ответа открывается объяснение.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 70 минут; после ответа можно открыть объяснение.
Вопрос 1 из 25
Раздел «Nullable-типы»: какое утверждение позволяет предсказать поведение фрагмента по правилам Visual Basic и .NET?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Module Demo
    Sub Main()
        Dim value As Integer? = Nothing
        Console.WriteLine(value.HasValue)
        Console.WriteLine(value.GetValueOrDefault(3))
    End Sub
End Module
Вопрос 2 из 25
Раздел «Nullable-типы»: на ревью предлагают упростить участок с value. Какое замечание защищает поведение программы, а не стиль записи?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Strict On
Namespace ReviewCase12_1
    Module Demo
        Sub Main()
            Dim value As Integer? = Nothing
            Console.WriteLine(value.HasValue)
            Console.WriteLine(value.GetValueOrDefault(7))
        End Sub
    End Module
End Namespace
Вопрос 3 из 25
Раздел «Nullable-типы»: какое правило нельзя считать проверенным одним обычным примером?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Explicit On
Option Infer On
Namespace BoundaryCase12_1
    Module Demo
        Sub Main()
            Dim value As Integer? = Nothing
            Console.WriteLine(value.HasValue)
            Console.WriteLine(value.GetValueOrDefault(1))
        End Sub
    End Module
End Namespace
Вопрос 4 из 25
Раздел «Nullable-типы»: как уменьшить риск дефекта, не подменяя причину запасным значением?
Вопрос 5 из 25
Раздел «Nullable-типы»: какой вывод можно использовать как основание для ревью кода?
Вопрос 6 из 25
Какой вывод о фрагменте по теме «Значение Nothing» технически обоснован?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Module Demo
    Sub Main()
        Dim number As Integer = Nothing
        Dim text As String = Nothing
        Console.WriteLine($"{number}:{text Is Nothing}")
    End Sub
End Module
Вопрос 7 из 25
Раздел «Значение Nothing»: какой вывод должен пережить рефакторинг этого фрагмента?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Strict On
Namespace ReviewCase12_2
    Module Demo
        Sub Main()
            Dim reviewNumber As Integer = Nothing
            Dim reviewText As String = Nothing
            Console.WriteLine($"{reviewNumber}:{reviewText Is Nothing}")
        End Sub
    End Module
End Namespace
Вопрос 8 из 25
Какое свойство механизма «Значение Nothing» нужно проверить на редком, но допустимом сценарии?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Explicit On
Option Infer On
Namespace BoundaryCase12_2
    Module Demo
        Sub Main()
            Dim edgeNumber As Integer = Nothing
            Dim edgeText As String = Nothing
            Console.WriteLine($"{edgeNumber}:{edgeText Is Nothing}")
        End Sub
    End Module
End Namespace
Вопрос 9 из 25
Раздел «Значение Nothing»: что стоит закрепить в коде и тестах, а не прикрывать общим обработчиком?
Вопрос 10 из 25
Раздел «Значение Nothing»: какое обобщение не зависит от случайных деталей показанного примера?
Вопрос 11 из 25
Раздел «Условный доступ при Nothing»: что здесь является частью контракта, а не особенностью одного удачного запуска?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Class Customer
    Public Property Address As Address
End Class
Class Address
    Public Property City As String
End Class
Module Demo
    Sub Main()
        Dim customer As Customer = Nothing
        Dim size As Integer? = customer?.Address?.City?.Length
        Console.WriteLine(size.HasValue)
    End Sub
End Module
Вопрос 12 из 25
Раздел «Условный доступ при Nothing»: на ревью предлагают упростить участок с Customer. Какое замечание защищает поведение программы, а не стиль записи?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Strict On
Namespace ReviewCase12_3
    Class Customer
        Public Property Address As Address
    End Class
    Class Address
        Public Property City As String
    End Class
    Module Demo
        Sub Main()
            Dim reviewCustomer As Customer = Nothing
            Dim reviewSize As Integer? = reviewCustomer?.Address?.City?.Length
            Console.WriteLine(reviewSize.HasValue)
        End Sub
    End Module
End Namespace
Вопрос 13 из 25
Какое свойство механизма «Условный доступ при Nothing» нужно проверить на редком, но допустимом сценарии?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Explicit On
Option Infer On
Namespace BoundaryCase12_3
    Class Customer
        Public Property Address As Address
    End Class
    Class Address
        Public Property City As String
    End Class
    Module Demo
        Sub Main()
            Dim edgeCustomer As Customer = Nothing
            Dim edgeSize As Integer? = edgeCustomer?.Address?.City?.Length
            Console.WriteLine(edgeSize.HasValue)
        End Sub
    End Module
End Namespace
Вопрос 14 из 25
Раздел «Условный доступ при Nothing»: как уменьшить риск дефекта, не подменяя причину запасным значением?
Вопрос 15 из 25
Какое правило по теме «Условный доступ при Nothing» можно безопасно перенести из примера в реальный проект?
Вопрос 16 из 25
Раздел «Проверка значения»: код использует count. Какой вывод останется верным при других допустимых входных данных?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Module Demo
    Sub Main()
        Dim count As Integer? = If(4 Mod 2 = 0, 5, CType(Nothing, Integer?))
        Console.WriteLine(If(count, 0))
    End Sub
End Module
Вопрос 17 из 25
Раздел «Проверка значения»: какая претензия к возможной правке относится к поведению программы?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Strict On
Namespace ReviewCase12_4
    Module Demo
        Sub Main()
            Dim reviewCount As Integer? = If(8 Mod 3 = 0, 6, CType(Nothing, Integer?))
            Console.WriteLine(If(reviewCount, 0))
        End Sub
    End Module
End Namespace
Вопрос 18 из 25
Раздел «Проверка значения»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Explicit On
Option Infer On
Namespace BoundaryCase12_4
    Module Demo
        Sub Main()
            Dim edgeCount As Integer? = If(2 Mod 1 = 0, 4, CType(Nothing, Integer?))
            Console.WriteLine(If(edgeCount, 0))
        End Sub
    End Module
End Namespace
Вопрос 19 из 25
Раздел «Проверка значения»: какой подход сохраняет границу ответственности и делает отказ диагностируемым?
Вопрос 20 из 25
Что точнее всего описывает механизм «Проверка значения»?
Вопрос 21 из 25
Какой контракт действительно соблюдает показанный фрагмент из раздела «Диагностика результата»?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Module Demo
    Function DisplayName(raw As String) As String
        If raw Is Nothing Then Return "(not supplied)"
        If raw.Length = 0 Then Return "(empty)"
        Return raw
    End Function
End Module
Вопрос 22 из 25
Раздел «Диагностика результата»: какой вывод должен пережить рефакторинг этого фрагмента?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Strict On
Namespace ReviewCase12_5
    Module Demo
        Function DisplayName(reviewRaw As String) As String
            If reviewRaw Is Nothing Then Return "(not supplied)"
            If reviewRaw.Length = 0 Then Return "(empty)"
            Return reviewRaw
        End Function
    End Module
End Namespace
Вопрос 23 из 25
Раздел «Диагностика результата»: какое утверждение поможет отличить настоящий дефект от случайности тестовых данных?
Visual Basic / VB.NETVisual Basic · Nullable-типы и Nothing
Option Explicit On
Option Infer On
Namespace BoundaryCase12_5
    Module Demo
        Function DisplayName(edgeRaw As String) As String
            If edgeRaw Is Nothing Then Return "(not supplied)"
            If edgeRaw.Length = 0 Then Return "(empty)"
            Return edgeRaw
        End Function
    End Module
End Namespace
Вопрос 24 из 25
Раздел «Диагностика результата»: что стоит закрепить в коде и тестах, а не прикрывать общим обработчиком?
Вопрос 25 из 25
Какое правило по теме «Диагностика результата» можно безопасно перенести из примера в реальный проект?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу