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

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

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

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

03 Апр 2026

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

Такая ошибка может появиться, например, из-за копирования кода. Пример:

switch (selector) {
  case "foo":
    res = foo;
    break;
  case "bar":
    res = bar;
    break;
  case "baz":
    res = bar;
    break;
}

Здесь в метке "baz" присваивается значение из переменной bar вместо baz. Исправленный вариант:

switch (selector) {
  case "foo":
    res = foo;
    break;
  case "bar":
    res = bar;
    break;
  case "baz":
    res = baz;
    break;
}

Часто это предупреждение также свидетельствует об избыточном коде, который можно улучшить объединением меток. Пример с избыточным кодом:

switch (selector) {
  case "fooX":
    res = foo;
    break;
  case "fooY":
    res = foo;
    break;
  case "barX":
    res = bar;
    break;
  case "barY":
    res = bar;
    break;
}

Здесь нет ошибки, но этот код можно сделать читабельнее и компактнее за счёт объединения меток case:

switch (selector) {
  case "fooX":
  case "fooY":
    res = foo;
    break;
  case "barX":
  case "barY":
    res = bar;
    break;
}