﻿# V590\. Possible excessive expression or typo\. Consider inspecting the expression\.

Анализатор обнаружил потенциальную ошибку, так как в коде имеется избыточное сравнение\.

Поясним на простом примере:

```cpp
if (Aa[42] == 10 && Aa[42] != 3)
```

Условие будет выполнено в том случае, если 'Aa\[42\] \=\= 10'\. Вторая часть выражения бессмысленна\. Проанализировав код, можно прийти к одному из двух выводов:

1\) Выражение можно упросить\. Исправленный код:

```cpp
if (Aa[42] == 10)
```

2\) Выражение содержит ошибку\. Исправленный код:

```cpp
if (Aa[42] == 10 && Aa[43] != 3)
```

Рассмотрим практический пример\. Здесь ошибки нет, но выражение избыточно, что может затруднять чтение кода:

```cpp
while (*pBuff == ' ' && *pBuff != '\0')
  pBuff++;
```

Проверка " \*pBuff \!\= '\\0' " не имеет смысла\. Сокращенный вариант кода:

```cpp
while (*pBuff == ' ')
  pBuff++;
```