VB Visual Basic  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Типы, переменные и Option Strict

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На тест отведено 55 минут; после ответа можно открыть объяснение.
Вопрос 1 из 20
Раздел «Объявления»: какой разбор этого кода останется точным после переименования переменных?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Module Demo
    Sub Main()
        Dim count As Integer = 3
        Dim label As String = "rows"
        Console.WriteLine($"{count} {label}")
    End Sub
End Module
Вопрос 2 из 20
Раздел «Объявления»: что должно остаться явным после переработки участка с count?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Namespace ReviewCase1_1
    Module Demo
        Sub Main()
            Dim reviewCount As Integer = 4
            Dim reviewLabel As String = "rows"
            Console.WriteLine($"{reviewCount} {reviewLabel}")
        End Sub
    End Module
End Namespace
Вопрос 3 из 20
Раздел «Объявления»: какое допущение стоит нарушить отдельно, чтобы проверка действительно ловила ошибку?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Namespace BoundaryCase1_1
    Module Demo
        Sub Main()
            Dim edgeCount As Integer = 2
            Dim edgeLabel As String = "rows"
            Console.WriteLine($"{edgeCount} {edgeLabel}")
        End Sub
    End Module
End Namespace
Вопрос 4 из 20
Раздел «Объявления»: что стоит закрепить в коде и тестах, а не прикрывать общим обработчиком?
Вопрос 5 из 20
Какое правило по теме «Объявления» можно безопасно перенести из примера в реальный проект?
Вопрос 6 из 20
Какой вывод о фрагменте по теме «Вывод типов» технически обоснован?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Infer On
Module Demo
    Sub Main()
        Dim total = 1D
        total += 2.5D
        Console.WriteLine(total.GetType().Name)
    End Sub
End Module
Вопрос 7 из 20
Раздел «Вывод типов»: какая претензия к возможной правке относится к поведению программы?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Infer On
Namespace ReviewCase1_2
    Module Demo
        Sub Main()
            Dim reviewTotal = 1D
            reviewTotal += 2.5D
            Console.WriteLine(reviewTotal.GetType().Name)
        End Sub
    End Module
End Namespace
Вопрос 8 из 20
Раздел «Вывод типов»: для фрагмента с Infer добавляют регрессионный тест. Какой контракт он должен защищать?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Infer On
Namespace BoundaryCase1_2
    Module Demo
        Sub Main()
            Dim edgeTotal = 1D
            edgeTotal += 2.5D
            Console.WriteLine(edgeTotal.GetType().Name)
        End Sub
    End Module
End Namespace
Вопрос 9 из 20
Раздел «Вывод типов»: какой выбор не превращает скрытую ошибку в тихое продолжение работы?
Вопрос 10 из 20
Какое утверждение о «Вывод типов» выдерживает изменение имён и входных данных?
Вопрос 11 из 20
Какой контракт действительно соблюдает показанный фрагмент из раздела «Строгая типизация Option Strict»?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Module Demo
    Sub Main()
        Dim source As Object = "42"
        Dim value As Integer = CInt(source)
        Console.WriteLine(value + 6)
    End Sub
End Module
Вопрос 12 из 20
Раздел «Строгая типизация Option Strict»: какой комментарий к изменению будет технически обоснован?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Namespace ReviewCase1_3
    Module Demo
        Sub Main()
            Dim reviewSource As Object = "43"
            Dim value As Integer = CInt(reviewSource)
            Console.WriteLine(value + 3)
        End Sub
    End Module
End Namespace
Вопрос 13 из 20
Раздел «Строгая типизация Option Strict»: что изменится первым при нарушении ключевого допущения этого фрагмента?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Namespace BoundaryCase1_3
    Module Demo
        Sub Main()
            Dim edgeSource As Object = "41"
            Dim value As Integer = CInt(edgeSource)
            Console.WriteLine(value + 4)
        End Sub
    End Module
End Namespace
Вопрос 14 из 20
Раздел «Строгая типизация Option Strict»: какой подход сохраняет границу ответственности и делает отказ диагностируемым?
Вопрос 15 из 20
Раздел «Строгая типизация Option Strict»: какой вывод описывает семантику, а не предпочтение в оформлении?
Вопрос 16 из 20
Посмотрите на фрагмент по теме «Преобразования». Какое объяснение точнее всего связывает код с его поведением?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Module Demo
    Sub Main()
        Dim item As Object = "report"
        Dim text = TryCast(item, String)
        Console.WriteLine(If(text, "missing"))
    End Sub
End Module
Вопрос 17 из 20
Раздел «Преобразования»: какой вывод должен пережить рефакторинг этого фрагмента?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Namespace ReviewCase1_4
    Module Demo
        Sub Main()
            Dim reviewItem As Object = "report"
            Dim reviewText = TryCast(reviewItem, String)
            Console.WriteLine(If(reviewText, "missing"))
        End Sub
    End Module
End Namespace
Вопрос 18 из 20
Раздел «Преобразования»: что именно должен локализовать полезный граничный тест для этого кода?
Visual Basic / VB.NETVisual Basic · Типы, переменные и Option Strict
Option Strict On
Namespace BoundaryCase1_4
    Module Demo
        Sub Main()
            Dim edgeItem As Object = "report"
            Dim edgeText = TryCast(edgeItem, String)
            Console.WriteLine(If(edgeText, "missing"))
        End Sub
    End Module
End Namespace
Вопрос 19 из 20
Раздел «Преобразования»: что нужно сделать частью контракта рабочего модуля?
Вопрос 20 из 20
Какое утверждение точнее отделяет «Преобразования» от соседних механизмов?

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

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

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

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