
org.sonar.l10n.squidjava.rules.squid.ClassVariableVisibilityCheck.html Maven / Gradle / Ivy
Public class variable fields do not respect the encapsulation principle and has two main disadvantages:
- Additional behavior such as validation cannot be added.
- The internal representation is exposed, and cannot be changed afterwards.
The following code:
public class MyClass {
public static final int SOME_CONSTANT = 0; // Compliant - constants are not checked
public String firstName; // Non-Compliant
}
should be refactored into:
public class MyClass {
public static final int SOME_CONSTANT = 0; // Compliant - constants are not checked
private String firstName; // Compliant
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy