Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Зачем тестировщику нужна безопасность? - 16.04

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V8009. Two or more 'case' branches perform the same actions.

03 Апр 2026

Анализатор обнаружил ситуацию, когда в конструкции switch разные метки case содержат одинаковые фрагменты кода. Это может привести к тому, что часть логики программы не будет работать.

Рассмотрим пример:

switch msg {
case "start":
  Start()
case "stop":
  Start()
}

В данном случае, для обоих case'ов выполняются одни и те же действия. Исправить код можно следующим образом:

switch msg {
case "start":
  Start()
case "stop":
  Stop()
}

Однако иногда одинаковые тела case применяются намеренно, но это может привести к неоднозначности в коде.

Рассмотрим пример:

switch msg {
case "start":
  Start()
case "begin":
  Start()
default:
  Stop()
}

В этом примере для case'а start и begin выполняется один и тот же код. Но в последствии другим разработчикам может быть не понятно ошибка это или нет.

Сделать код понятнее можно следующим образом:

switch msg {
case "start", "begin":
  Start()
default:
  Stop()
}