💡 Инструкция: Выберите один ответ из пяти. На тест отведено 55 минут; после ответа можно открыть объяснение.
Вопрос 1 из 20
Раздел «Сравнения»: код использует сравнения. Какой вывод останется верным при других допустимых входных данных?
Visual Basic / VB.NET Visual Basic · Операторы, условия и циклы Копировать
Module Demo
Sub Main()
Dim a As String = New String("x"c, 2)
Dim b As String = "xx"
Console.WriteLine(a = b)
Console.WriteLine(a Is b)
End Sub
End Module
Разбор фрагмента: нарушение условия «Операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок» допустимо, если тест подтверждает «смешивать эти вопросы нельзя, особенно при работе с Nothing».
Разбор фрагмента: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Разбор фрагмента: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы можно, особенно при работе с Nothing.
Разбор фрагмента: операторы = и <> не сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Разбор фрагмента: is сравнивает содержимое ссылочных объектов, а оператор = проверяет, указывают ли переменные на один экземпляр.
Вопрос 2 из 20
После рефакторинга код стал короче. Какое условие по теме «Сравнения» нельзя потерять?
Visual Basic / VB.NET Visual Basic · Операторы, условия и циклы Копировать
Option Strict On
Namespace ReviewCase2_1
Module Demo
Sub Main()
Dim a As String = New String("x"c, 3)
Dim b As String = "xx"
Console.WriteLine(a = b)
Console.WriteLine(a Is b)
End Sub
End Module
End Namespace
Зафиксировать в ревью: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы можно, особенно при работе с Nothing.
Зафиксировать в ревью: операторы = и <> не сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Зафиксировать в ревью: нарушение условия «Операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок» допустимо, если тест подтверждает «смешивать эти вопросы нельзя, особенно при работе с Nothing».
Зафиксировать в ревью: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Зафиксировать в ревью: is сравнивает содержимое ссылочных объектов, а оператор = проверяет, указывают ли переменные на один экземпляр.
Вопрос 3 из 20
Раздел «Сравнения»: какое правило нельзя считать проверенным одним обычным примером?
Visual Basic / VB.NET Visual Basic · Операторы, условия и циклы Копировать
Option Explicit On
Option Infer On
Namespace BoundaryCase2_1
Module Demo
Sub Main()
Dim a As String = New String("x"c, 1)
Dim b As String = "xx"
Console.WriteLine(a = b)
Console.WriteLine(a Is b)
End Sub
End Module
End Namespace
Закрепить тестом: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы можно, особенно при работе с Nothing.
Закрепить тестом: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Закрепить тестом: нарушение условия «Операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок» допустимо, если тест подтверждает «смешивать эти вопросы нельзя, особенно при работе с Nothing».
Закрепить тестом: операторы = и <> не сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Закрепить тестом: is сравнивает содержимое ссылочных объектов, а оператор = проверяет, указывают ли переменные на один экземпляр.
Вопрос 4 из 20
Раздел «Сравнения»: как уменьшить риск дефекта, не подменяя причину запасным значением?
Не скрывать за запасным сценарием: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Не скрывать за запасным сценарием: нарушение условия «Операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок» допустимо, если тест подтверждает «смешивать эти вопросы нельзя, особенно при работе с Nothing».
Не скрывать за запасным сценарием: is сравнивает содержимое ссылочных объектов, а оператор = проверяет, указывают ли переменные на один экземпляр.
Не скрывать за запасным сценарием: операторы = и <> не сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Не скрывать за запасным сценарием: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы можно, особенно при работе с Nothing.
Вопрос 5 из 20
Что можно считать надёжным рабочим правилом для раздела «Сравнения»?
Технически точный принцип: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Технически точный принцип: операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы можно, особенно при работе с Nothing.
Технически точный принцип: нарушение условия «Операторы = и <> сравнивают значения, Is и IsNot — идентичность ссылок» допустимо, если тест подтверждает «смешивать эти вопросы нельзя, особенно при работе с Nothing».
Технически точный принцип: операторы = и <> не сравнивают значения, Is и IsNot — идентичность ссылок; смешивать эти вопросы нельзя, особенно при работе с Nothing.
Технически точный принцип: is сравнивает содержимое ссылочных объектов, а оператор = проверяет, указывают ли переменные на один экземпляр.
Вопрос 11 из 20
Какой вывод о фрагменте по теме «Циклы For и For Each» технически обоснован?
Visual Basic / VB.NET Visual Basic · Операторы, условия и циклы Копировать
Module Demo
Sub Main()
Dim values = New List(Of Integer) From {2, 4, 6, 8}
For Each value In values
If value = 4 Then values.Remove(value)
Next
Console.WriteLine(values.Count)
End Sub
End Module
For задаёт счётчик с исключённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each небезопасно.
For задаёт счётчик с включённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each допустимо, если цикл короткий.
For задаёт счётчик с включённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each безопасно.
For не задаёт счётчик с включённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each небезопасно.
For задаёт счётчик с включённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each небезопасно.
Вопрос 13 из 20
Раздел «Циклы For и For Each»: для фрагмента с values добавляют регрессионный тест. Какой контракт он должен защищать?
Visual Basic / VB.NET Visual Basic · Операторы, условия и циклы Копировать
Option Explicit On
Option Infer On
Namespace BoundaryCase2_3
Module Demo
Sub Main()
Dim edgeValues = New List(Of Integer) From {1, 3, 5, 7}
For Each value In edgeValues
If value = 3 Then edgeValues.Remove(value)
Next
Console.WriteLine(edgeValues.Count)
End Sub
End Module
End Namespace
Зафиксировать ожидаемое поведение: for задаёт счётчик с включённой верхней границей, а For Each не читает элементы перечисления; менять коллекцию во время обычного For Each небезопасно.
Зафиксировать ожидаемое поведение: for задаёт счётчик с исключённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each небезопасно.
Зафиксировать ожидаемое поведение: for задаёт счётчик с включённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each допустимо, если цикл короткий.
Зафиксировать ожидаемое поведение: for задаёт счётчик с включённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each безопасно.
Зафиксировать ожидаемое поведение: for задаёт счётчик с включённой верхней границей, а For Each читает элементы перечисления; менять коллекцию во время обычного For Each небезопасно.