rspec/rules/S2387/java/rule.adoc
Fred Tingaud 51369b610e
Make sure that includes are always surrounded by empty lines (#2270)
When an include is not surrounded by empty lines, its content is inlined
on the same line as the adjacent content. That can lead to broken tags
and other display issues.
This PR fixes all such includes and introduces a validation step that
forbids introducing the same problem again.
2023-06-22 10:38:01 +02:00

73 lines
1.3 KiB
Plaintext

== Why is this an issue?
include::../description.adoc[]
=== Noncompliant code example
[source,java]
----
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
[source,java]
----
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.
[source,java]
----
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
// ...
}
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]