The transitive property says that if a == b
and b == c
, then a == c
. In such cases, there’s no point in
assigning a
to c
or vice versa because they’re already equivalent.
This rule raises an issue when an assignment is useless because the assigned-to variable already holds the value on all execution paths.
Noncompliant code example
a = b;
c = a;
b = c; // Noncompliant: c and b are already the same
Compliant solution
a = b;
c = a;