﻿# V3023\. Consider inspecting this expression\. The expression is excessive or contains a misprint\.

The analyzer has detected a suspicious code fragment with a redundant comparison\. There may be a superfluous check, in which case the expression can be simplified, or an error, which should be fixed\. 

Consider the following example:

```cpp
if (firstVal == 3 && firstVal != 5)
```

This code is redundant as the condition will be true if 'firstVal \=\= 3', so the second part of the expression just makes no sense\.

There are two possible explanations here:

1\) The second check is just unnecessary and the expression can be simplified\. If so, the correct version of that code should look like this:

```cpp
if (firstVal == 3)
```

2\) There is a bug in the expression; the programmer wanted to use a different variable instead of 'firstVal'\. Then the correct version of the code should look as follows:

```cpp
if (firstVal == 3 && secondVal != 5)
```