Nous utilisons des cookies pour améliorer votre expérience de navigation. En savoir plus
Accepter
to the top

Webinar: Let's make a programming language. Part 1. Intro - 20.02

>
>
>
V3109. The same sub-expression is...
menu mobile close menu
Additional information
toggle menu Contents

V3109. The same sub-expression is present on both sides of the operator. The expression is incorrect or it can be simplified.

09 Aoû 2016

The analyzer detected identical subexpressions in the left and the right part of an expression with a comparison operator. This operation is incorrect or meaningless, or can be simplified.

Consider the following example:

if ((x – y) >= (x - z)) {};

The 'x' variable in this fragment is obviously not necessary and can be removed from both parts of the expression. This is what the simplified version of the code would look like:

if (y <= z) {};

The next example:

if (x1 == x1 + 1) {};

This code contains a true error, as the expression will be false at any value of the 'x1' variable. Perhaps the programmer made a typo, and the code was actually meant to look like this:

if (x2 == x1 + 1) {};

One more example:

if (x < x * y) {};

This expression can also be simplified by removing the 'x' variable:

if (y > 1) {};