Normalmente al crear nuevas variables globales no defino su modificador de acceso. Entonces, según java, adoptará el modificador de acceso predeterminado de propiedad. Cuando necesito acceder a esa variable fuera del alcance predeterminado, cambio su modificador de acceso o lo dejo como está. Entonces, mi pregunta es " ¿Lo estoy haciendo bien? ¿Es normal tener variables de acceso predeterminadas? ¿O debería usar privado / público para ellas? ¿Es una buena práctica de codificación no usar modificadores de acceso? "
java
coding-style
access-modifiers
Harry Joy
fuente
fuente
static
en .NET, también rompen la capacidad de prueba de la unidad; dado que una unidad que lo usa SIEMPRE dependerá de ellos y no hay forma de falsificarlos para aislar la unidad bajo prueba.Algunos principios generales de programación aquí:
...pero también:
No soy un experto en Java, pero la regla general debería ser: si lo que sucede es obvio para alguien familiarizado con el lenguaje sin ser explícito, use el comportamiento implícito. Sin embargo, si esto puede poner a alguien en el camino equivocado, entonces sea explícito.
fuente
Java no tiene propiedades automáticas, por lo que todos los miembros de la clase en general deben ser privados con métodos get / set para uso público, si es necesario.
Según la fuente (Oracle java Docs), este es el enfoque recomendado.
"Use el nivel de acceso más restrictivo que tenga sentido para un miembro en particular. Use privado a menos que tenga una buena razón para no hacerlo. Evite los campos públicos excepto las constantes. Los campos públicos tienden a vincularlo con una implementación particular y limitan su flexibilidad para cambiar su código ".
http://download.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
fuente
public
hace)?