2011-04-12 13 views

Respuesta

6

Voy a decir que no. Podría demostrarse que estoy equivocado en esto.

Mi razonamiento es que hay cientos de proyectos que tienen anotaciones, además de los horneados en Java, y los horneados en nuestros entornos de desarrollo (Eclipse específicamente, pero estoy seguro de que otros tenerlos también.)

Entonces, con todas estas bibliotecas potencialmente competitivas para "quienes están en la cima", dudo que acepten un estándar.

Animo a su equipo a sentarse y tomar decisiones sobre lo que es mejor para ustedes.

factores que consideraría:

  1. Qué annotatiosn son los más importantes? Deben estar cerca de la cima.
  2. ¿Qué anotaciones son más propensas a ser indicativas de posibles errores? Deben estar cerca de la cima.
  3. ¿Qué anotaciones son posibles en todos los métodos de la clase? Deben estar cerca del fondo.
+1

Buen consejo. Estoy realmente implícito siguiendo estas 3 reglas. –

+0

Personalmente agregaría '0. El calificador de anotación viene primero antes de la anotación calificada. 'Así que @Lazy lo haría antes de @Service. ¿Estás de acuerdo? –

+4

No me gusta poner un calificador antes de la anotación calificada. Al leer "Lazy", ¿es un vago qué? El servicio me dice que estoy trabajando con un servicio, y lazy hace que el servicio sea más específico. Sí, el inglés usa adjetivos antes que los sustantivos, pero la programación orientada a objetos (Java) coloca los objetos antes que los métodos y los campos. Algo "debajo" de la anotación (un calificador de una anotación) podría verse como un elemento "debajo" de la anotación, no antes de ella. Como dije en mi respuesta, consiga el acuerdo del equipo. –

3

¿Si debe imponer un pedido, alfabético?

Sin ningún tipo de conocimiento sobre las anotaciones que está utilizando, es difícil sugerir un orden racional. Tal vez un mejor orden se adapte mejor a ti y a tu equipo; y si es así, si documenta cuál es el pedido acordado, lo único que queda es verificar que sigue el orden acordado por el equipo.

Después de hablar con todo su equipo, es posible que no necesite pedirlos después de todo.

1

Buena pregunta. Esta no es una ciencia exacta, pero personalmente trato de organizar las anotaciones desde un "amplio alcance" en la parte superior a un "alcance limitado" en la parte inferior. Aquí hay un ejemplo:

@RadioDomain 
@Entity 
@Table(name = "receiver") 
@ReceiverConstraintCheck 
@SuppressWarnings("PMD.ShortVariable") 
public class Receiver { 
    // ... 
} 
Cuestiones relacionadas