89 lines
1.5 KiB
Plaintext
89 lines
1.5 KiB
Plaintext
include::../description.adoc[]
|
|
|
|
== Noncompliant Code Example
|
|
|
|
----
|
|
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
|
|
|
|
----
|
|
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.
|
|
|
|
|
|
----
|
|
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)
|
|
|
|
include::message.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|