Using operator pairs (=+
or =-
) that look like reversed single operators (+=
or -=
) is
confusing. They compile and run but do not produce the same result as their mirrored counterpart.
Dim target As Integer = -5
Dim num As Integer = 3
target =- num ' Noncompliant: target = -3. Is that the intended behavior?
target =+ num ' Noncompliant: target = 3
This rule raises an issue when =+
or =-
are used without any space between the operators and when there is at least one
whitespace after.
Replace the operators with a single one if that is the intention
Dim num As Integer = 3
target -= num ' target = -8
Or fix the spacing to avoid confusion
Dim num As Integer = 3
target = -num // target = -3