rspec/rules/S2387/java/rule.adoc
2021-01-27 13:42:22 +01:00

51 lines
961 B
Plaintext

include::../description.adoc[]
== Noncompliant Code Example
----
public class Fruit {
protected Season ripe;
protected Color flesh;
// ...
}
public class Raspberry extends Fruit {
private boolean ripe; // Noncompliant
private static Color FLESH; // Noncompliant
}
----
== Compliant Solution
----
public class Fruit {
protected Season ripe;
protected Color flesh;
// ...
}
public class Raspberry extends Fruit {
private boolean ripened;
private static Color FLESH_COLOR;
}
----
== Exceptions
This rule ignores same-name fields that are ``++stati{cpp}`` in both the parent and child classes. This rule ignores ``++private++`` parent class fields, but in all other such cases, the child class field should be renamed.
----
public class Fruit {
private Season ripe;
// ...
}
public class Raspberry extends Fruit {
private Season ripe; // Compliant as parent field 'ripe' is anyway not visible from Raspberry
// ...
}
----