
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.
99 lines
1.7 KiB
Plaintext
99 lines
1.7 KiB
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,vbnet]
|
|
----
|
|
Public Class Fruit
|
|
|
|
Protected Ripe As Season
|
|
Protected Flesh As Color
|
|
|
|
' ...
|
|
|
|
End Class
|
|
|
|
Public Class Raspberry
|
|
Inherits Fruit
|
|
|
|
Private Ripe As Boolean ' Noncompliant
|
|
Private Shared FLESH As Color ' Noncompliant
|
|
|
|
' ...
|
|
|
|
End Class
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,vbnet]
|
|
----
|
|
Public Class Fruit
|
|
|
|
Protected Ripe As Season
|
|
Protected Flesh As Color
|
|
|
|
' ...
|
|
|
|
End Class
|
|
|
|
Public Class Raspberry
|
|
Inherits Fruit
|
|
|
|
Private Riped As Boolean
|
|
Private Shared FLESH_COLOR As Color ' Noncompliant
|
|
|
|
' ...
|
|
|
|
End Class
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
This rule ignores same-name fields that are ``++Shared++`` in both the parent and child classes. It also ignores ``++Private++`` parent class fields and fields explicitly declared as ``++Shadows++``, but in all other such cases, the child class field should be renamed.
|
|
|
|
|
|
[source,vbnet]
|
|
----
|
|
Public Class Fruit
|
|
|
|
Private Ripe As Season
|
|
Protected Flesh As Color
|
|
|
|
' ...
|
|
|
|
End Class
|
|
|
|
Public Class Raspberry
|
|
Inherits Fruit
|
|
|
|
Private Ripe As Season ' Compliant as parent field 'Ripe' is not visible from Raspberry anyway
|
|
Protected Shadows Flesh As Color ' Compliant as the intention is explicitly declared
|
|
|
|
' ...
|
|
|
|
End Class
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
* "xxx" is the name of a member in "yyy".
|
|
* "xxx" differs only by case from "XXX" in "yyy".
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|