Pregunta

He visto a algunos desarrolladores poner declaraciones de variables de instancia al final de las clases, aunque en su mayoría las veo ubicadas en la parte superior. Las únicas razones por las que puedo pensar para hacer esto son las preferencias estilísticas o tal vez de alguna manera las hace más fáciles de trabajar en un IDE. ¿Hay alguna razón más legítima para elegir este estilo?

¿Fue útil?

Solución

Debido a " Programa a una 'interfaz', no a una 'implementación'. " (Gang of Four 1995: 18) ( http://en.wikipedia.org/wiki/ Design_Patterns # Introduction.2C_Chapter_1 ), algunas personas prefieren declarar variables de instancia en la parte inferior de la clase. La teoría es que el usuario de una clase está más interesado en lo que puede hacer con la clase (métodos) en lugar de cómo se hace algo (variables). Colocar los métodos en la parte superior de la clase los expone primero al usuario cuando miran el código.

Otros consejos

No hay un particular "bueno" razón para hacerlo de una forma u otra. Lo único que realmente importa es que todos en el mismo proyecto lo hagan de la misma manera.

Sin embargo, colocarlos en la parte superior es mucho más común en mi experiencia, y es la práctica recomendada por Directrices de estilo Java , así que eso es con lo que iría.

Puede aplicar la convención elegida con un formateador de código fuente automático como Jalopy , o el que viene con Eclipse.

Es sobre todo (si no del todo) preferencia personal. Me gustan en la parte superior, pero realmente no podría dar una mejor razón para eso, que es la forma en que estoy acostumbrado.

La mayoría de las variables de instancia son privadas , por lo que tiendo a colocarlas en la parte inferior porque declaro miembros en orden de disminución de la visibilidad. Si los declarara en orden de aumento de visibilidad, estarían en la parte superior, lo que también es razonable.

Lo que no me gusta es tener campos privados seguidos de campos públicos seguidos de métodos privados. Si estoy desarrollando una clase de cliente, quiero todas las partes públicas juntas (ya que eso es todo lo que me interesa).

Siempre he racionalizado que si tiene una variable de nivel de clase privada, entonces ha codificado una configuración o está rastreando el estado de una forma u otra. Si está rastreando el estado, entonces 1) eso debería ser obvio para todos los que van a escribir código en el archivo desde el momento en que abren el archivo, y 2) rastrear muchos estados es un gran olor a código, y si mis desarrolladores están haciendo eso, entonces quiero que sea obvio. Por lo tanto, ponerlo en la parte superior, en mi humilde opinión, hace que el código incorrecto sea más obvio y sirve como una advertencia para las futuras personas que editan la clase.

Sin embargo, separe definitivamente sus campos y miembros públicos / protegidos frente a los privados, ya que las personas interesadas en uno probablemente no estén interesadas en el otro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top