All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.plugins.vbnet.S4025.html Maven / Gradle / Ivy

There is a newer version: 10.5.0.109200
Show newest version

Why is this an issue?

Having a field in a child class with a name that differs from a parent class' field only by capitalization is sure to cause confusion. Such child class fields should be renamed.

Noncompliant code example

Public Class Fruit

    Protected PlantingSeason As String

    ' ...

End Class

Public Class Raspberry
    Inherits Fruit

    Protected Plantingseason As String  ' Noncompliant

    ' ...

End Class

Compliant solution

Public Class Fruit

    Protected PlantingSeason As String

    ' ...

End Class

Public Class Raspberry
    Inherits Fruit

    Protected WhenToPlant As String

    ' ...

End Class

Or

Public Class Fruit

    Protected PlantingSeason As String

    ' ...

End Class

Public Class Raspberry
    Inherits Fruit

    ' Field removed, parent field will be used instead

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.





© 2015 - 2025 Weber Informatics LLC | Privacy Policy