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

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

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

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

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

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

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

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

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

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

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

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