/ / Ordine di annotazione Java suggerito? - java, annotazioni, formattazione del codice

Ordine di annotazione Java suggerito? - java, annotazioni, formattazione del codice

Per i progetti ampiamente utilizzati di annotazioni Java, c'è qualche suggerimento sull'ordine delle annotazioni? In modo da uniformare lo stile del codice nella squadra.

risposte:

7 per risposta № 1

Sto per dire che non lo è. Potrei essermi smentito su questo.

Il mio ragionamento è che ci sono centinaia di progettiche hanno annotazioni, oltre a quelle inserite in Java, e quelle inserite nei nostri IDE (in particolare Eclipse, ma sono sicuro che anche altri li hanno).

Quindi, con tutte queste librerie potenzialmente in competizione per "di cui sopra" dubito che sarebbero d'accordo su uno standard.

Incoraggerei la tua squadra a sedersi e prendere decisioni su ciò che è meglio per voi ragazzi.

Fattori che prenderei in considerazione:

  1. Quali annotazioni sono più importanti? Dovrebbero essere vicino alla cima.
  2. Quali annotazioni hanno più probabilità di essere indicative di potenziali bug? Dovrebbero essere vicino alla cima.
  3. Quali annotazioni sono probabilmente presenti su tutti i metodi della classe? Dovrebbero essere vicino al fondo.

3 per risposta № 2

Se devi imporre un ordine, in ordine alfabetico?

Senza una sorta di conoscenza delle annotazioni che stai utilizzando, è difficile suggerire un ordinamento razionale. Forse un ordinamento migliore si adatterebbe meglio a te e al tuo team; e in tal caso, se documenti qual è l'ordine concordato, l'unica cosa rimasta è verificare che segue il team ha accettato l'ordinazione.

Dopo aver parlato con tutta la tua squadra, potresti scoprire che non è necessario ordinarli dopo tutto.


1 per risposta № 3

Buona domanda. Questa non è una scienza esatta, ma personalmente cerco di organizzare le annotazioni da un "ambito ampio" nella parte superiore a un "ambito ristretto" nella parte inferiore. Ecco un esempio:

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