Saya dan tim R&D saya memelihara basis kode yang besar. Kami telah membagi logika bisnis kami menjadi beberapa paket. beberapa di antaranya memiliki kelas dengan nama yang identik .
Seperti yang bisa Anda tebak, nama konflik ketika kedua kelas direferensikan dalam file Java yang sama.
Sebagai contoh:
com.myapp.model (package)
- Device (class)
- ...
com.myapp.data (package)
- Device (class)
- ...
Kami berdebat tentang apa praktik terbaik untuk menangani kasus-kasus ini dan opsi berikut muncul:
Opsi 1
Mengganti nama kelas, menambahkan awalan
ModelDevice DataDevice
Opsi 2
Menggunakan paket lengkap + nama kelas saat keduanya direferensikan
com.myapp.model.Device com.myapp.data.Device
Apa yang lebih benar dalam hal manajemen kode dan skalabilitas?
saat ini kami sedang menggabungkan kedua pendekatan dan mulai memiliki ketidakkonsistenan
java.util.Datedan java.sql.Date- terutama karena java.sql.Datemerupakan subkelas dari java.util.Datedan begitu baik menyelinap keluar dari lapisan data (dan tidak bersambung dengan baik ke JSON).