Reino: Encapsulation
Encapsulamento consiste em traçar limites fortes. Em um navegador web, isso pode significar que seu código para dispositivos móveis não pode ser abusado por outros códigos para dispositivos móveis. No servidor, pode significar a diferenciação entre dados validados e não validados, entre os dados de dois usuários ou entre os dados que os usuários podem ou não acessar.
Poor Style: Non-final Public Static Field
Abstract
Campos estáticos públicos não finais podem ser alterados por classes externas.
Explanation
Em geral, você não deseja fornecer para classes externas acesso direto aos campos membros do seu objeto, pois um campo público pode ser alterado por qualquer classe externa. Um bom design orientada a objetos usa o encapsulamento para impedir que os detalhes da implementação, como campos membros, sejam expostos a outras classes. Além disso, se o sistema supor que esse campo não pode ser alterado, o código mal-intencionado poderá ser capaz de alterar desfavoravelmente o comportamento do sistema.
Exemplo 1: No código a seguir, o campo
Nesse caso, o código mal-intencionado pode ser capaz de mudar esse código de erro e fazer com que o programa se comporte de maneira inesperada.
Exemplo 1: No código a seguir, o campo
ERROR_CODE
é declarado como público e estático, mas não final:
public class MyClass
{
public static int ERROR_CODE = 100;
//...
}
Nesse caso, o código mal-intencionado pode ser capaz de mudar esse código de erro e fazer com que o programa se comporte de maneira inesperada.
References
desc.structural.java.poor_style_non-final_public_static_field