rspec/rules/S2387/java/rule.adoc
2020-12-23 14:59:06 +01:00

51 lines
951 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 ``static`` 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
// ...
}
----