Shadowing occurs when a local variable has the same name as a variable, field, or property in an outer scope.
include::../problems.adoc[]
To avoid these problems, rename the shadowing, shadowed, or both variables/fields/properties to accurately represent their purpose with unique and meaningful names.
It improves clarity and allows reasoning locally about the code without considering other software parts.
This rule focuses on variables shadowing fields or properties.