Reino: Encapsulation
La encapsulación consiste en crear límites fuertes. En un explorador web esto puede suponer la seguridad de que tu codificación móvil no se vea comprometido por otro código móvil. En el servidor puede significar la diferenciación entre los datos validados y los que no lo están, entre los datos de un usuario y los de otro, o entre los diferentes usuarios, los datos que pueden ver y los que no.
Poor Style: Non-final Public Static Field
Abstract
Los campos estáticos públicos no finales se pueden cambiar por clases externas.
Explanation
Normalmente, no se desea dar a las clases externas acceso directo a sus campos miembros del objeto porque cualquier clase externa puede cambiar un campo público. Un buen diseño orientado al objeto usa la encapsulación para evitar que detalles de implementación, como campos de miembro, queden expuestos a otras clases. Además, si el sistema asume que no se puede cambiar este campo, entonces el código malintencionado podría ser capaz de cambiar negativamente el comportamiento del sistema.
Ejemplo 1: en el siguiente código, el campo
En este caso, el código malintencionado podría ser capaz de cambiar este código de error y provocar que el programa se comporte de forma inesperada.
Ejemplo 1: en el siguiente código, el campo
ERROR_CODE
se declara como público y estático, pero no como final:
public class MyClass
{
public static int ERROR_CODE = 100;
//...
}
En este caso, el código malintencionado podría ser capaz de cambiar este código de error y provocar que el programa se comporte de forma inesperada.
References
desc.structural.java.poor_style_non-final_public_static_field