Io e il mio team di ricerca e sviluppo manteniamo una base di codice estesa. Abbiamo suddiviso la nostra logica aziendale in più pacchetti. alcuni dei quali hanno classi con nomi identici .
Come puoi immaginare, i nomi sono in conflitto quando si fa riferimento a entrambe le classi nello stesso file Java.
Per esempio:
com.myapp.model (package)
- Device (class)
- ...
com.myapp.data (package)
- Device (class)
- ...
Abbiamo discusso su quali siano le migliori pratiche per trattare questi casi e sono emerse le seguenti opzioni:
1a opzione
Rinominare la classe, aggiungendo un prefisso
ModelDevice DataDevice
2a opzione
Utilizzo del pacchetto completo + nome classe quando si fa riferimento a entrambi
com.myapp.model.Device com.myapp.data.Device
Cosa c'è di più corretto in termini di gestione del codice e scalabilità?
stiamo attualmente mescolando entrambi gli approcci e iniziando ad avere incoerenze
java.util.Date
e java.sql.Date
, soprattutto perché java.sql.Date
è una sottoclasse di java.util.Date
e scivola così bene dai livelli di dati (e non si serializza bene su JSON).