Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
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;
}

Диагностическое правило классифицируется как: